Computability and Language Theory
Fall 2016 and Winter 2017 quarters
Taught by
Prerequisites
Computer Science Foundations program or a strong mathematical background with two quarters of computer programming. Students with a strong mathematical background but little programming experience will be accepted in variable credit options.
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, computability theory, artificial intelligence, 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 properties and capabilities of languages in the four primary programming paradigms: functional, logic, imperative, and object-oriented.
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 Artificial Intelligence thread will cover machine learning and techniques for building intelligent programs. 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. Students will have a project opportunity to implement an interpreter for a small programming language.
Program Details
Fields of Study
computer science mathematicsPreparatory For
computability theory, computer science, education, formal language theory, mathematical logic, mathematics, and programming language design.
Quarters
Fall Open Winter SignatureLocation and Schedule
Campus Location
Olympia
Time Offered
DayAdvertised Schedule
First winter class meeting: Monday, January 9th at 10am (Lib 2612)