Computability and Language Theory
Compare offerings and share your lists with others.
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.
This offering will prepare you for careers and advanced study in:
computability theory, computer science, education, formal language theory, mathematical logic, mathematics, and programming language design.
Credits per quarter Variable Credit Options Available
On a space-available basis 4-, 8-, or 12-credit enrollment options are possible for students planning to focus on only one, two or three threads of the program, such as students with a strong mathematical background but little programming experience or students with little mathematical background but strong programming experience. As with the 16-credit option, students joining the program in winter must have course work or experience equivalent to prior fall quarter work for each appropriate thread of study.
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.
- Hybrid Online Learning - This offering delivers < 25% of its instruction online, rather than via face-to-face contact between you and your instructors.
Upper division science credit:
All parts of the program cover upper-division material. Upper-division credit will be awarded for successful completion of upper-division work.
Class Size: 46
Scheduled for: Day
First winter class meeting: Monday, January 9th at 10am (Lib 2612)
Located in: Olympia
May be offered again in: