Skip navigation

Home » Undergraduate Program » CS Major » CS Requirements

CS Requirements 2007-08

Major: Computer Science (CS)
College of Letters and Science
Degree: Bachelor of Science

PREPARATORY SUBJECT MATTER UNITS
MAT 21A, B, C Calculus 4-4-4
MAT 22A Linear Algebra 3
MAT 22B Differential Equations 3
STA 32 Statistical Analysis 3
ECS 20 Discrete Mathematics for Computer Science 4
ECS 30 Programming and Problem Solving 4
ECS 40 Software Development 4
ECS 50 or
EEC 70
Computer Organization and Machine-Dependent Programming
Computer Structure and Assembly Language
4
One series from the following four:
CHE 2 A, B, C General Chemistry 5-5-5
CHE 2 A, B and
BIS 1A
General Chemistry
Introductory Biology
5-5
5
CHE 2 AH, BH, CH General Chemistry 5-5-5
PHY 9A, B, C and
MAT 21D
Classical Physics and
Vector Analysis
5-5-5
4
TOTAL PREPARATORY UNITS 52-56

COMPUTER SCIENCE CORE UNITS
ECS 110/60 Data Structures and Programming 4
ECS 120* or
122B*
Introduction to Theory of Computation
Algorithm Design and Analysis
4
ECS 122A Algorithm Design and Analysis 4
ECS 140A Programming Languages 4
ECS 150 Operating Systems and System Programming 4
ECS 154A, B Computer Architecture 4-4
TOTAL COMPUTER SCIENCE CORE UNITS 28
* Completion of only 120 or 122B will satisfy the core requirement, but not a computer science elective simultaneously.
** Completion of only 150 or 151A will satisfy the core requirement, but not a computer science elective simultaneously.

COMPUTER SCIENCE ELECTIVES UNITS
Minimum of 4 courses and a minimum of 13 units from:
ECS 120* Introduction to the Theory of Computation 4
ECS 122B* Algorithm Design and Analysis 4
ECS 130 Scientific Computation 4
ECS 140B Programming Languages 4
ECS 142 Compilers 4
ECS 145 Scripting Languages 4
ECS 152A Computer Networks 4
ECS 152B Computer Networks 4
ECS 152C Design Projects Communication Networks 4
ECS 153 Introduction to Computer Security 4
ECS 158 Programming on Parallel Architectures 4
ECS 160 Introduction to Software Engineering 4
ECS 163 User/Computer Interfaces 4
ECS 165A Database Systems 4
ECS 165B Database Systems 4
ECS 170 Introduction to Artificial Intelligence 4
ECS 175 Computer Graphics 4
ECS 177 Introduction to Visualization 4
ECS 178 Introduction to Geometric Modeling 4
ECS 188 Ethics in an Age of Technology 3
ECS 192 or 199 Internship/Special Study
(3 units from one course (192 or 199); Dept. approval)
3
EEC 180A Digital Systems I 5
EEC 180B Digital Systems II 5
MAT 160** Database Theory, Design and Performance 4
TOTAL COMPUTER SCIENCE ELECTIVE UNITS 13
* Completion of only 120 or 122B will satisfy the core requirement, but not a computer science elective simultaneously.
** Completion of MAT 160 will satisfy either a computer science elective or a math elective, but not both requirements simultaneously.

MATHEMATICS ELECTIVES UNITS
MAT 108 Abstract Mathematics 4
One course from the following:
MAT 115A, B, C Theory of Numbers 4
MAT 127A/25, B/125A, C/125C Advanced Calculus
MAT 131/135A or STA 131A Mathematical Probability
Probabililty Theory
MAT 141 Euclidean Geometry
MAT 145 Combinatorial Mathematics
MAT 147 Topology
MAT 149A, B Topics in Discrete Mathematics
MAT 150A, B, C Abstract Algebra
MAT One upper division math course numbered below 188 except MAT III 4
TOTAL MATHEMATICS ELECTIVE UNITS 12
TOTAL UNITS FOR CS MAJOR 105-109

Note: See http://www.math.ucdavis.edu/undergrad/degree_req/changes for MAT course changes