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 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. Each of these components are described as follows.
Four kernel courses in computer science and mathematics:
• Mathematics 55: Discrete Mathematics
• Computer Science 60: Principles of Computer Science
• Computer Science 81: Computability and Logic
• Mathematics 168 or CS 140: Algorithms
Three computer science courses:
• Computer Science 70: Data Structures and Program Development
• Computer Science 105: Computer Systems
• Computer Science 131: Programming Languages
Three mathematics courses:
• Mathematics 131: Analysis I
• Mathematics 165: Numerical Analysis or Math 164: Scientific Computing
• Mathematics 171: Abstract Algebra I
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.
Eight units of upper division technical electives: these electives can be from mathematics, 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 advisers 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.
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 in this catalogue.