Main navigation
- Programs
- Subjects
- Universities
- Destinations
- Advice
The Computer Science Department provides both Bachelor of Science and Bachelor of Arts degree options, along with four interdisciplinary majors offered in collaboration with other departments: Electrical Engineering and Computer Science, Computer Science and Economics, Computer Science and Mathematics, and Computer Science and Psychology. Every major curriculum delivers a strong technical foundation while enabling students to explore diverse academic fields or pursue a dual major. All Computer Science and joint major programs build upon a shared foundation of five core computer science courses. The initial course, CPSC 201, serves as an overview that reveals the field's vast scope to students with prior programming experience. Subsequent core classes address discrete mathematics, data structures, systems programming and computer architecture, plus algorithm analysis and design - collectively forming essential knowledge for all majors. These fundamental courses are enhanced by electives (and, for joint majors, required courses from the partnering discipline) that allow significant customization based on individual interests. The program culminates with a senior research project, where students engage in original investigation under faculty supervision, experiencing both the difficulties and satisfactions of scholarly research.