2012-13 Catalog

Decorative graphic

Offering Description

Computability and Language Theory


Fall 2012 and Winter 2013 quarters

Sheryl Shulman computer science , Aaron Skomra computer science , Neal Nelson computer science, mathematics
Fields of Study
computer science and mathematics
Preparatory for studies or careers in
computability theory, computer science, education, formal language theory, mathematical logic, mathematics and programming language design.
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.

Computers are such an omnipresent and useful tool that it might seem like they can do anything. Through studying topics in advanced computer science, this program will explore what computers can do, how we get them to do it, and what computers can't do. It is designed for advanced computer science students and students with an interest in both mathematics and computer science.

Topics covered will include formal computer languages, systems of formal logic, computability theory, 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 the properties and capabilities of languages in the four primary programming paradigms: functional, logic, imperative and object-oriented. Program seminars will explore selected advanced topics in logic, language theory and computability.

Topics will be organized around three interwoven themes. The Formal Languages theme will cover the theoretical basis of language definitions, concluding with a study of what is computable. The Logic theme will cover traditional logic systems and their limits, concluding with some non-traditional logic systems and their applications to computer science. In the Programming Language theme we will study both the theoretical basis and practical implementation of programming language definitions by comparing the implementations of the four programming language paradigms. Students will have an opportunity to conclude the program with a major project, such as a definition and implementation of a small programming language.

Online Learning
Hybrid Online Learning < 25% Delivered Online
Greener Store
Upper Division Science Credit
Upper division credit will be awarded for upper division work.
May be offered again in
Offered During

Program Revisions

Date Revision
October 2nd, 2012 Aaron Skomra has joined the teaching team.