Sep 21, 2019  
2018-2019 Catalog 
2018-2019 Catalog [ARCHIVED PUBLICATION] Use the dropdown above to select the current catalog.

Joint Major in Computer Science and Mathematics

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, and students will have faculty advisors from both 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 Computer Science and Mathematics degree program has various 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 is described as follows.


  • 14 credits of upper division technical electives. These electives can be from math, computer science, or other departments (but must include at least 6 credits of mathematics and at least 6 credits of computer science) and must be chosen with approval of the faculty advisors so that a coherent program is formed. All electives must be numbered over 100, with the exception of MATH070 HM  or MATH080 HM . (Some off-campus math courses numbered in the 100s that replicate HMC Core course content may not be counted toward the elective requirement.) Courses that are cross-listed between computer science and mathematics, such as Complexity Theory, which appears as both MATH167 HM  and CSCI142 HM , can be taken under either course number.



Two semesters are required, ordinarily taken during the senior year. Joint majors will work on a Clinic project from either mathematics, computer science, joint computer science and mathematics, or on an interdisciplinary project. Software Development (CSCI121 HM ), is strongly recommended for students wishing to take Computer Science Clinic.