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 131||Introduction to Computer Science||3|
|CSE 132||Introduction to Computer Engineering||3|
|CSE 240||Logic and Discrete Mathematics||3|
|or Math 310||Foundations for Higher Mathematics|
|CSE 247||Data Structures and Algorithms||3|
|CSE 332S||Object-Oriented Software Development Laboratory||3|
|CSE 347||Analysis of Algorithms||3|
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.
Students must take calculus (Math 131) and probability (ESE 326, Math 3200, or the sequence DAT 120-DAT 121).