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.

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 021ACalculus4
MAT 021BCalculus4
Computer Science Engineering
ECS 020Discrete Mathematics For Computer Science4
Choose an option:4-8
(a)
Programming & Problem Solving
Software Development & Object-Oriented Programming in C++
(b)
Software Development in UNIX & C++
Total Units16-20
Preparatory Subject Matter
Mathematics
MAT 021ACalculus4
MAT 021BCalculus4
MAT 021CCalculus4
Choose one:3-4
Linear Algebra
Linear Algebra with Applications to Biology
Modern Linear Algebra
Computer Science Engineering20
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 Subtotal50-51
Depth Subject Matter
Computer Science Engineering
ECS 122AAlgorithm Design & Analysis 4
ECS 120Theory of Computation4
or ECS 122B Algorithm Design & Analysis
ECS 140AProgramming Languages 4
ECS 150Operating Systems & System Programming4
ECS 154AComputer Architecture4
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: 126-31
No course can count as both a required course and a Computer Science elective.
Depth Subject Matter Subtotal50-55
Total Units100-106
1

ECS 120-189 inclusive; ECS 193AB (counts as one); one approved 3–5 unit course from ECS 192 or 199; ECN 122; EEC 100, 171, 172, 180A, 180B; LIN 127, 177; MAT 100-189, excluding MAT 111; STA 131A, 131B, 141B, 141C; STS 115; PSC 120.