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.

Students in the Joint Major program will have faculty advisors from both the mathematics and the computer science departments.

Course Requirements

The Joint Major in Computer Science and Mathematics 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.

Kernel Courses

Four Kernel courses in computer science and mathematics.

Computer Science Courses

Two required computer-science courses:

Mathematics Courses

Two required mathematics courses:


Two semesters are required, ordinarily taken during the senior year. Joint majors will work on a Clinic project from mathematics or computer science or on an interdisciplinary project.


Fourteen (14) units of upper-division technical electives: these electives can be from math, computer science, or other departments (but must include at least six (6) units of mathematics and at least six (6) units of computer science), and must be chosen with approval of the advisors so that a coherent program is formed.


Colloquia & Math Forum

Students are required to attend two semesters of CS Colloquium (CS 195); one semester of Math Colloquium (Mathematics 199); and one semester of Undergraduate Mathematics Forum (Mathematics 198). We recommend that Forum be taken in the junior year.


The Joint Major requires 15 courses, which is one more than either the current CS major or the current Math major. Joint Majors will have two advisors, one in Computer Science and one in Mathematics; and all programs must be approved by both advisors.

The Clinic requirement is fulfilled by CSMT 183 (a Clinic course number exclusively for Joint Majors). Before other students are assigned to Clinics, the Clinic directors for both math and CS (and the faculty advisors) will meet to place joint majors in math or CS clinics, endeavoring to place students in equal numbers into appropriate math or CS clinics. It is the expectation that Clinic will be taken in the senior year.

With the creation of the joint major, it is much more difficult to pursue a double major in mathematics and computer science. However, if a student wishes to double major in computer science and mathematics, it will only be permitted under the following conditions: the student must complete all requirements (including Clinic and four semesters of CS Colloquium) for the usual computer-science major and all requirements (including Clinic or thesis, and two semesters of Math Forum) for a usual math major.

A double major between the joint major and either the normal computer-science or mathematics major will not be permitted. Double majors between the joint major and other departments are still permitted.

The upper-division electives may be satisfied by a suitable senior thesis.

The four terms of colloquium are deliberately left unordered to allow flexibility, particularly in cases of schedule conflicts. However, we expect that most majors will take one colloquium course (CS Colloquium or Math Forum, Colloquium) each term during junior and senior years.