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 also is 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, at least 24 additional units in computer science or computer science-related courses with an S, M, T or A suffix of which 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 400E, 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:

    Calculus (Math 131) and Probability (ESE 326 or Math 3200, or the sequence QBA 120-QBA 121).