Programming Language Theory and Practice
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 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.
- Hybrid Online Learning - This offering delivers < 25% of its instruction online, rather than via face-to-face contact between you and your instructors.
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.
Scheduled for: Day
Located in: Olympia