Programming Language Theory and Practice

FallWinter
Fall 2018
Winter 2019
Olympia
Olympia
Daytime
Day
Sophomore-Senior
Sophomore–Senior
Class Size: 50
816
Credits per quarter

Compare offerings and share your lists with others.

Taught by

computer science, mathematics
computer science

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 selected from formal computer languages, computability theory, type theory, programming language design, and artificial intelligence. 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.

Topics are typically offered in three or four of the following threads of study: The Formal Languages thread extends for two quarters and covers the theoretical basis of language definitions, concluding with a study of what is computable. The Functional Language thread extends for two quarters and covers advanced programming techniques using the programming language Haskell. The Type Theory and Programming Language thread covers both the theoretical basis and practical implementation of types and programming languages and extends for two quarters. The Artificial Intelligence thread begins in winter and covers machine-learning and techniques for building intelligent programs, along with related topics in programming languages and computability.

This offering will prepare you for careers and advanced study in:

computer science, mathematics, science, and education.

816

Credits per quarter

Fields of study: 
Prerequisites:

Students must have completed Computer Science Foundations or equivalent: 10  credits of computer programming, 8 credits of discrete mathematics, and 4 credits of computer architecture.

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:

Students may earn up to 16 upper division science credits per quarter in computer science.

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

Scheduled for: Day

Final schedule and room assignments:

Located in: Olympia