Bachelor of Science

COVID-19 Update for Spring 2020:

CS Student Advising will suspend in-person advising effective Tuesday March 17 until further notice. 

Current CS students may contact us via email: undergrads at or graduate students at Please allow up to 3 business days for a response. We will offer advising appointments via Zoom video. We will not have staff in our physical office, please be sure to reach out to us via email only for an appointment starting on March 23.

General hours remain the same for our staff: Monday-Friday 9am-12pm and 1pm-4pm PST. We appreciate your patience and understanding as we work to serve our students during this time.

** Enrollment update** As of March 17, 2020, waitlisted students should expect to be added to a course only if seats become available. The shift to remote course instruction for Spring quarter will not change our enrollment limits. We are still bound by instructional teaching loads and instructional support (TA/tutor availability). The capacity in each course is determined by multiple variables (not solely the classroom size), including but not limited to: 

Classroom size availability 
Instructor availability 
Instructor teaching load
Instructional support availability (TA/tutor support) 
Scalability of the course

The Department of Computer Science offers students in the College of Engineering a Bachelor of Science degree that is accredited by the Computing Accreditation Commission of ABET, (The similarly named degree program offered by the College of Creative Studies is not accredited by ABET). This program introduces students to core concepts and cutting-edge topics in computer science. The program provides students with hands-on experience and a depth of understanding of computer theory, systems, and applications that prepares them for successful careers in computer science and to participate in the next-generation of technological advances. 


Courses required for the major MUST be taken for letter grades. Pre-requisites are strictly enforced for all CS courses. 

General Education

You can obtain a detailed list of GEs from the College of Engineering Undergraduate Office (Harold Frank Hall, room 1006) or via email ( Please refer all GE related questions to the College advisors.

Lower Division Major Prep (53 units)

All students must achieve a grade of C or above in CS16, CS24, CS32, and CS40 to take any course for which any of these classes is prerequisite. The computer science classes open to non-majors (in the 3rd pass time) are CS8, CS16, CS24, and CS40.

Math 3A, 3B8Calculus and its Applications, Courses 1-2
Math 4A, 4B8Linear Algebra and its Applications, Differential Equations
Math 6A4Vector Calculus
CMPSC 164Problem Solving with Computers I
CMPSC 244Problem Solving with Computers II
CMPSC 324Object Oriented Design and Implementation
CMPSC 405Foundations of Computer Science
CMPSC 484Computer Science Project
CMPSC 564Advanced Applications Programming
CMPSC 644Computer Organization and Logic Design
PSTAT 120A4Probability and Statistics

Note: Students with no previous programming background should take CS 8 before taking CS 16. AP Computer Science will qualify students to start with CS 16.

Lower Division Science Courses (20 units)

PHYS 1, 2, 3 and 3L12Basic Physics (with 3L lab)

Note: AP Physics does not test you out of this series. 

Science Electives: 8 units required; The science electives must be selected from the following set of approved courses and taken for a LETTER GRADE.

ANTH 5  
Intro Biological Anthropology
AP Biology
Advanced Placement Biology Exam (score of 3 or higher will credit you with 8 science elective units)
Basic Astronomy
ASTRO 2History of the Universe
CHEM 1A + CHEM 1ALGeneral Chemistry and Laboratory
CHEM 1B + CHEM 1BLGeneral Chemistry and Laboratory
CHEM 1C + CHEM 1CLGeneral Chemistry and Laboratory
EARTH 2General Geology: Physical
EARTH 4 or EARTH 4 W (online version)Introduction to Oceanography
EARTH 6Mountains, Boots & Backpacks
EARTH 7Dinosaurs
EARTH 8Africa: Climate & Human Evolution
EARTH 9Giant Earthquakes
EARTH 10Antarctica: The Last Place on Earth
EARTH 20 or Earth W 20 (online version)Geological Catastrophes
EARTH 30The History of Life
EARTH 111Principles of Paleontology
EARTH 123The Solar System
EARTH 130 Global Warming: Science & Society
EEMB 21General Biology
EEMB 22Concepts & Controversies in Bio Sciences
EEMB 40Ecology of Infectious Disease
EEMB 50Biology of Non-Infectious Disease
ENV S 2Intro to Environmental Science
GEOG 3AOceans & Atmosphere
GEOG 3BLand, Water & Life
GEOG 8Living with Global Warming
GEOG 12 or GEOG W 12Maps & Spatial Reasoning
GEOG 115AGeographic Photo Interpretation
GEOG 115B + GEOG 115BLGeographic Remote Sensing Techniques and Laboratory
MCDB 1A + 1ALIntroductory Biology I and Laboratory
MCDB 1B and EEMB 2 plus either MCDB 1BL or EEMB 2LIntroductory Biology II and Laboratory
MCDB 20Concepts of Biology
MCDB 21The Immune System of Aids
MCDB 23Biology of Cancer
MCDB 26Contemporary Nutrition
MCDB 27Memory: Bridging the Humanities & Neuroscience
MCDB 29Fundamental of Biomedical Research
PHIL 183Beginning of Modern Logic
PHYS 4Basic Physics
PHYS 4LPhysics Laboratory
PHYS 5Basic Physics
PHYS 5LPhysics Laboratory
PSY 107Intro to Perception
PSY 108Intro to Cognitive Psychology

Upper Division

CMPSC 111 or 1404Introduction to Computational Science or Parallel Scientific Computing
CMPSC 130A and 130B8Data Structures and Algorithms I and II
CMPSC 1384Automata and Formal Languages
CMPSC 1544Computer Architecture
CMPSC 160 or 1624Translation of Programming Languages or Programming Languages
CMPSC 1704Operating Systems
PSTAT 120B4Probability and Statistics

Ethics Requirement

ENGR 1013Ethics in Engineering

Upper Division Major Field Electives (28 units)

NOTE! Upper Division Major electives must be approved by a faculty member before graduation. A signed elective advising form must be turned into the CS office. The best time to get this advising is Sophomore year.

The list of major electives is available on the Upper Division Electives webpage.