Computability and Language Theory

FallWinter
Fall 2016
Winter 2017
Olympia
Olympia
Daytime
Day
Sophomore-Senior
Sophomore–Senior
Class Size: 46
16Variable
Credits per quarter
Variable Credit Options Available

Compare offerings and share your lists with others.

Taught by

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.

16Variable

Credits per quarter
Variable Credit Options Available

Variable Credit Options:

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.

Fields of study: 
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.

Online learning:
  • 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.

Sophomore-Senior
Class Standing: Sophomore–Senior
Class Size: 46
Daytime

Scheduled for: Day

Advertised schedule:

First winter class meeting: Monday, January 9th at 10am (Lib 2612)

Located in: Olympia

May be offered again in:

2018-19