Computer Science, Bachelor of Science College of Letters & Science
The Major Program
The Department of Computer Science administers two majors: Computer Science & Engineering (CSE) and Computer Science (CS). It also administers two minors: Computer Science and Computational Biology. For information on the Computer Science & Engineering curriculum and the minor in Computational Biology, see Computer Science Engineering.
The primary differences between the CSE and CS majors are the extent of hardware coverage and curricular flexibility. The CSE major develops a solid understanding of the entire machine, including hands-on experience with its hardware components. The CS major teaches some hardware, at the digital-design level, on simulators. The CSE major has fewer free electives. The CS major's more generous electives make it easier to complete a minor or double major.
Students in the CS major receive a solid grounding in the fundamentals of computer languages, operating systems, computer architecture, and the mathematical abstractions underpinning computer science. Students are prepared for both industry and postgraduate study.
Major Advisors
A. Abrahamson, K. Gage, J. Sison; For information on how to speak to an advisor, see CS Undergraduate Advising.
Graduate Study
See Graduate Studies.
Before declaring a major in Computer Science, students must complete specific course requirements and meet GPA minimums. Visit the CS Advising webpage for a full list of requirements to declare the major.
Code | Title | Units |
---|---|---|
Preparatory Subject Matter | ||
Mathematics | ||
MAT 021A | Calculus | 4 |
MAT 021B | Calculus | 4 |
MAT 021C | Calculus | 4 |
Choose one: | 3-4 | |
Linear Algebra | ||
Linear Algebra with Applications to Biology | ||
Modern Linear Algebra | ||
Computer Science Engineering | 20 | |
Discrete Mathematics For Computer Science | ||
Programming & Problem Solving | ||
Software Development & Object-Oriented Programming in C++ | ||
Data Structures, Algorithms, & Programming | ||
Computer Organization & Machine-Dependent Programming | ||
Choose three: | 15 | |
Introduction to Biology: Essentials of Life on Earth | ||
Introduction to Biology: Principles of Ecology & Evolution | ||
Introduction to Biology: Biodiversity & the Tree of Life | ||
General Chemistry | ||
General Chemistry | ||
General Chemistry | ||
General Chemistry for the Physical Sciences & Engineering | ||
General Chemistry for the Physical Sciences & Engineering | ||
General Chemistry for the Physical Sciences & Engineering | ||
Classical Physics | ||
Classical Physics | ||
Classical Physics | ||
Preparatory Subject Matter Subtotal | 50-51 | |
Depth Subject Matter | ||
Computer Science Engineering | ||
ECS 122A | Algorithm Design & Analysis | 4 |
ECS 120 | Theory of Computation | 4 |
or ECS 122B | Algorithm Design & Analysis | |
ECS 140A | Programming Languages | 4 |
ECS 150 | Operating Systems & System Programming | 4 |
ECS 154A | Computer Architecture | 4 |
Choose one: | 4 | |
Probability & Statistical Modeling for Computer Science | ||
Probability | ||
Introduction to Probability Theory | ||
Computer Science Electives | ||
Choose a minimum of seven courses, including at least one Mathematics (MAT) or Statistics (STA) course. A minimum of four electives must be (ECS) courses: 1 | 26-31 | |
No course can count as both a required course and a Computer Science elective. | ||
Depth Subject Matter Subtotal | 50-55 | |
Total Units | 100-106 |
- 1
ECS 120-ECS 189 inclusive; ECS 193AB Discontinued (counts as one); one approved 3–5 unit course from ECS 192 or ECS 199; ECN 122; EEC 100, EEC 171, EEC 172, EEC 180A Discontinued, EEC 180B Discontinued; LIN 127, 177; MAT 100 Discontinued-MAT 189, excluding MAT 111; STA 131A, STA 131B, STA 141B, STA 141C STS 115; PSC 120.