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
