The Second Major in Computer Science

The second major provides an opportunity to combine computer science with another degree program. A second major in computer science can expand a student's career options and enable interdisciplinary study in areas such as cognitive science, computational biology, chemistry, physics, philosophy and linguistics. The second major is also well suited for students planning careers in medicine, law, business, architecture and fine arts. The requirements are as follows. There are no additional distribution or unit requirements for the second major.

Computer Science Core Requirements

CSE 131Introduction to Computer Science3
CSE 132Introduction to Computer Engineering3
CSE 240Logic and Discrete Mathematics3
or Math 310 Foundations for Higher Mathematics
CSE 247Data Structures and Algorithms3
CSE 332SObject-Oriented Software Development Laboratory3
CSE 347Analysis of Algorithms3
Total Units18

Each of these core courses must be passed with a grade of C- or better.

Computer Science Technical Elective Requirements

In addition to the core courses, students must complete at least 24 additional units in computer science or computer science–related courses with an S, M, T or A suffix; at least one must be a systems (S) course, and at least one must be a machine (M) or application (A) course. Students may use up to 6 units of approved independent work (CSE 400, CSE 497-CSE 499) as part of their computer science electives. Such independent work can be classified as S, M, T or A with approval.

Math Requirement

Students must take calculus (Math 131) and probability (ESE 326, Math 3200, or the sequence DAT 120-DAT 121).