Fall 2014 and Winter 2015 quarters
- Sheryl Shulman 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.
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, 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.
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 Logic thread will cover traditional logic systems and their applications to programming languages and computer science. 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 by comparing the design and implementation of the four distinct programming language paradigms. Students will have a project opportunity to implement an interpreter for a small programming language.
- Online Learning
- Hybrid Online Learning < 25% Delivered Online
- Greener Store
- Upper Division Science Credit
- All parts of the program cover upper division material. Upper division credit will be awarded for successful completion of the upper division work.
- May be offered again in
- Offered During