Joint Major in Computer Science and Mathematics

The Joint Major in Computer Science and Mathematics is cooperatively administered by the computer science and mathematics departments. The purpose of the Joint Major is to provide a program of study tailored to students who are interested in the interdisciplinary connections between computer science and mathematics. Depending on how electives are selected, the program described below would position successful majors for graduate studies in either computer science or mathematics, or for immediate employment.

The Joint Major degree program has five components: the Kernel courses in computer science and mathematics; more advanced courses in computer science and in mathematics; Clinic; and Electives. Each of these components will be described below.

Four Kernel courses in computer science and mathematics:

• Math 55: Discrete Math

• CS 60: Principles of Computer Science

• CS 81: Computability and Logic

• Math 168 or CS 140: Algorithms

Three Computer Science courses:

• CS 70: Data Structures and Program Development

• CS 105: Computer Systems

• CS 131: Programming Languages

Three Mathematics courses:

• Math 131: Analysis I

• Math 165: Numerical Analysis or Math 164: Scientific Computing

• Math 171: Abstract Algebra I

Clinic: Two semesters are required, ordinarily taken during the senior year. Joint Majors will work on a Clinic project either from mathematics, computer science or on an interdisciplinary project. CS 121, Software Development, is strongly recommended for students wishing to take the CS Clinic.

Electives: Eight units of upper division technical electives: these electives can be from math, computer science or other departments (but must include at least two units of mathematics and at least two units of computer science), and must be chosen with approval of the advisors so that a coherent program is formed. Two semesters of senior thesis research can count towards this requirement. Note that Complexity Theory can be taken as either Math 167 or CS 142.

Colloquia: Students are required to attend two semesters of Computer Science Colloquium (CS 193-196), one semester of Mathematics Colloquium (Math 199) and one semester of Math Forum (Math 198).

Students in the Joint Major program will have faculty advisors from both the mathematics and the computer science departments. For further descriptions of the computer science and mathematics programs, please refer to their separate sections of this catalogue.