Computability and Language Theory
Fall 2014 and Winter 2015 quarters
This program will explore what computers can do, how we get them to do it and what they can't do. It is designed for advanced computer science students and students with an interest in both mathematics and computer science. The program covers topics in formal computer languages, systems of formal logic, computability theory and programming language design and implementation. Students will also study a functional programming language, Haskell, learn the theoretical basis of programming languages and do an in-depth comparison of the properties and capabilities of languages in the four primary programming paradigms: functional, logic, imperative and object-oriented. Program seminars will explore selected advanced topics in logic, language theory and computability.
These topics are offered in four distinct threads. The Formal Languages thread will cover the theoretical basis of language definitions, concluding with a study of what is computable. The Logic thread will cover traditional logic systems and their applications to programming languages and computer science. The Functional Language thread covers advanced programming techniques using the programming language Haskell. The Programming Language thread covers both the theoretical basis and practical implementation of programming languages by comparing the design and implementation of the four distinct programming language paradigms. Students will have a project opportunity to implement an interpreter for a small programming language.
Fields of Study
Preparatory for studies or careers in
Location and Schedule
Offered during: Day