Bachelor of Science

COVID-19 Update:

In light of the ongoing coronavirus (COVID-19) situation, CS has closed physical administrative offices effective Tuesday March 17, 2020 until further notice. 

Current CS students may contact us via email. Please allow 3-5 business days for a response. 

Staff hours remain the same: Monday-Friday 9am-12pm and 1pm-4pm PST. We appreciate your patience and understanding.

The Department of Computer Science offers students in the College of Engineering a Bachelor of Science degree. 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. 

Note: Degree requirements have changed for students entering in F20.  Please see pages 184-185 of the 20-21 edition of GEAR for current requirements.


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.