Computer Science, Bachelor of Science College of Letters & Science
The Major Program
The Department of Computer Science administers two majors: Computer Science & Engineering (CSE), in the College of Engineering, and Computer Science (CS), in the College of Letters & Science. It also administers two minors: Computer Science, in the College of Letters & Science, and Computational Biology, in the College of Engineering. 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
D. Doty, K. Eiselt, M. Farrens, V. Filkov, P. Koehl, N. Matloff, C. Nitta, J. Porquet, P. Rogaway, K. Gage, J. Sison
Graduate Study
See Graduate Studies.
Code | Title | Units |
---|---|---|
Preparatory Requirements | ||
Before declaring a major in Computer Science, students must complete the following courses with an overall UC Davis grade point average of at least 3.000; a grade of C- or better required in all courses: | ||
Mathematics | ||
MAT 021A | Calculus | 4 |
MAT 021B | Calculus | 4 |
Computer Science Engineering | ||
ECS 020 | Discrete Mathematics For Computer Science | 4 |
Choose an option: | 4-8 | |
(a) | ||
Programming & Problem Solving | ||
Software Development & Object-Oriented Programming in C++ | ||
(b) | ||
Software Development in UNIX & C++ | ||
Total Units | 16-20 |
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 |