Computer Science Major Requirements

Required Core (32 units)
CS 10 Introduction to Computer Science I (4)
CS 15 Discrete Mathematics (4)
CS 30 Introduction to Computer Science II (4)
CS 50 Information and Computation: History and Ethics or PHI 104 Ethics or PHI 113 Contemporary Moral Problems (4)
CS 120 Data Structures and Algorithms (4)
CS 130 Software Development (4)
CS 192 Project (2)
CS 195 Senior Seminar (4)
CS 198 Research (2)

In addition to the core courses, students must complete one of the following four tracks, providing depth in computer science and optionally, an area of interdisciplinary emphasis.  Examples of additional fields of interest include business (management information systems), art (computer graphics), psychology and art (human-computer interaction) biology (bioinformatics), psychology (cognitive science or neuroscience), philosophy (artificial intelligence), art and communications (digital media arts), and engineering-physics (computer engineering).

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

B.A. in Computer Science Interdisciplinary Track (48 units including core)
Two upper-division courses from a second field
Additional CS courses numbered above CS 30 to bring the total to 48 units 

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

B.S. in Computer Science Interdisciplinary Track (56 units including core)
Three courses from a second field within the Natural and Behavioral Sciences Division, two of which must be upper-division courses
Additional CS courses numbered above CS 30 to bring the total to 56 units 

Computer Science Course Websites

Lower Division Courses

CS 10 Introduction to Computer Science I
CS 15 Discrete Mathematics
CS 30 Introduction to Computer Science II
CS 45 Computer Organization and Architecture
CS 50 Information & Computation: History & Ethics

Upper Division Courses

CS 105 Programming Languages
CS 116 Artificial Intelligence
CS 120 Data Structures and Algorithms
CS 125 Database Design
CS 130 Software Development
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

Sample Four-Year Schedule

B.S. in Computer Science General Track

First year courses

Fall Spring
CS 10 Introduction to Computer Science I (4) CS 30 Introduction to Computer Science II (4)
CS 50 Information and Computation: History and Ethics (4) CS 15 Discrete Mathematics (4)
General Education (4) General Education (4)
General Education (4) General Education (4)
Physical Education Activity (1) Physical Education Activity (1)

Second year courses

Fall Spring
CS 45 Computer Organization and Architecture (4) CS Elective (4)
General Education (4) CS Elective (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
CS130 Software Development (4) CS 120 Data Structures/Algorithms (4)
CS Elective (4) CS 192 Project (2)
General Education (4) CS 190SS Service Learning Internship (1)
General Education (4) General Education (4)
  General Education (4)

Fourth year courses

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