Computer Science Major Requirements

Required Core (32 units)
CS010 Design and Implementation of Solutions to Computational Problems (4)
CS015 Discrete Mathematics (4)
CS030 Abstract Models for Concrete Problems Using Java (4)
CS045 Computer Organization and Hardware Architectures (4)
CS105 Programming Languages (4)
CS120 Data Structures and Algorithms (4)
CS130 Creative Software Architectures for Collaborative Projects (4)
CS195 Senior Seminar (4)

In addition to the core courses, students must complete elective units to satisfy one of the following two tracks. Elective units may include a total of no more than 4 units from among CS190 Internship, CS192 Project, or CS198 Research, of which 190 and 192 may contribute no more than 2 units each. Students complete one of the following two tracks:

B.A. in Computer Science General Track (44 units including core)
Additional CS courses numbered CS 100 or above to bring the total to 44 unitsĀ 

B.S. in Computer Science General Track (56 units including core)
Additional CS courses numbered CS 100 or above to bring the total to 56 units

Computer Science Course Websites

Lower Division Courses

CS010 Design and Implementation of Solutions to Computational Problems
CS/MA015 Discrete Mathematics
CS030 Abstract Models for Concrete Problems Using Java
CS045 Computer Organization and Hardware Architectures
CS050 Morality, Information, Logic, Knowledge

Upper Division Courses

CS105 Programming Languages
CS116 Artificial Intelligence
CS120 Space, Time, and Perfect Algorithms
CS125 Database Design
CS130 Creative Software Architectures for Collaborative Projects
CS135 Formal Languages and Automata
CS 140 Networks
CS 145 Operating Systems
CS 150 Topics in Computer Science: Machine Learning
CS 150 Topics in Computer Science: Distributed Systems
CS 150 Topics in Computer Science: 3D Computer Graphics
CS 190SS Service Learning Internship

Sample Four-Year Schedule

B.S. in Computer Science General Track (starting Fall of even-numbered year)

First year courses

FallSpring
CS010 Design and Implementation of Solutions to Computational Problems (4) CS030 Abstract Models for Concrete Problems Using Java (4)
CS015 Discrete Mathematics (4) General Education (4)
General Education (4) General Education (4)
  General Education (4)
  Physical Education Activity (1)

Second year courses

Fall Spring
CS045 Computer Organization and Hardware Architectures or CS105 Programming Languages (4) CS Elective (4)
CS Elective (4) General Education (4)
General Education (4) General Education (4)
General Education (4) General Education (4)
Physical Education Activity (1) Physical Education Activity (1)

Third year courses

Fall Spring
CS045 Computer Organization and Hardware Architectures or CS105 Programming Languages (4) CS120 Data Structures/Algorithms (4)
CS130 Creative Software Architectures for Collaborative Projects (4) CS Elective (4)
General Education (4) General Education (4)
General Education (4)
Physical Education Activity (1)

Fourth year courses

Fall Spring
CS Elective (4) CS195 Senior Seminar (4)
CS Elective (4) CS Elective (4)
General Education (4) General Education (4)
General Education (4) General Education (4)