Bachelor of Science
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.
Requirements
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 via email at coe-info@engineering.ucsb.edu. Please refer all GE-related questions to the College advisors.
For information about requirements for College of Engineering majors, including Computer Science, and other program information, see the GEAR (General Engineering Academic Requirements) catalog associated with a student's year of entrance to UCSB.
All students must achieve a grade of C or above in CMPSC 16, 24, 32, and 40 to take any course for which any of these courses are a prerequisite.
Course | Units | Title |
---|---|---|
Math 3A, 3B | 8 | Calculus with Applications, Courses 1-2 |
Math 4A, 4B | 8 | Linear Algebra with Applications; Differential Equations |
Math 6A | 4 | Vector Calculus |
CMPSC 16 | 4 | Problem Solving with Computers I |
CMPSC 24 | 4 | Problem Solving with Computers II |
CMPSC 32 | 4 | Object Oriented Design and Implementation |
CMPSC 40 | 5 | Foundations of Computer Science |
CMPSC 64 | 4 | Computer Organization and Logic Design |
PSTAT 120A | 4 |
Probability and Statistics |
Note: Students with no previous programming background should take CMPSC 8 before taking CMPSC 16. The AP Computer Science A Exam with a score of 4 or 5 will qualify students to start with CMPSC 16.
For CS major catalog years prior to and including 2022-23:
Students admitted to the major prior to/before Fall 2023 will continue to follow the Physics requirements below unless they opt to change their CS major catalog year to follow the newest major requirements.
Course | Units | Title |
---|---|---|
PHYS 1, 2, 3 and 3L | 12 | Basic Physics (with 3L lab) |
Note: AP Physics does not test you out of this series.
Effective for CS major catalog year 2023-24:
Physics courses are no longer listed under the 'preparation for the major' section of the CS major requirements. Physics courses are now listed in 'List B' of the CS Science Electives section. Click on the drop-down below to see 'List A' and 'List B' of the Science Electives major requirements.
Science Electives for CS major catalog years prior to and including 2022-23:
Please click on this link for a PDF copy of the prior science electives list. Students admitted to the major prior to/before Fall 2023 will continue to follow this science elective list unless they opt to change their CS major catalog year to follow the newest major requirements.
Science Electives effective for CS major catalog year 2023-24:
For courses that appear in both 'Science Electives - List A' and 'Science Electives - List B', a student can count one course towards only either the List A or List B requirement (i.e., a single course cannot count towards units for both Lists at once).
Science Electives - List A
8 units are required from the following set of approved courses, and must be taken for a LETTER GRADE:
Course | Title |
---|---|
ANTH 5 |
Intro Biological Anthropology |
AP Biology |
Advanced Placement Biology Exam (score of 3 or higher will credit you with 8 science elective units) |
ASTRO 1 |
Basic Astronomy |
ASTRO 2 | History of the Universe |
CHEM 1A | General Chemistry |
CHEM 1B | General Chemistry |
CHEM 1C | General Chemistry |
EARTH 2 | Principles of Physical Geology |
EARTH 4 or EARTH 4 W | Introduction to Oceanography |
EARTH 6 | Mountains, Boots, and Backpacks |
EARTH 7 | Dinosaurs |
EARTH 8 | Africa: Climate & Human Evolution |
EARTH 9 | Giant Earthquakes |
EARTH 10 | Antarctica: The Last Place on Earth |
EARTH 20 or Earth W 20 | Geological Catastrophes |
EARTH 30 | The History of Life |
EARTH 111 | Principles of Paleontology |
EARTH 123 | The Solar System |
EARTH 130 | Global Warming - Science and Society |
ECON 1 | Principles of Economics-Micro |
ECON 2 | Principles of Economics-Macro |
EEMB 21 | General Botany |
EEMB 22 | Concepts & Controversies in Bio Sciences |
EEMB 40 | Ecology of Infectious Disease |
EEMB 50 | Biology of Non-Infectious Disease |
ENV S 2 | Intro to Environmental Science |
GEOG 3 | Oceans & Atmosphere |
GEOG 4 | Land, Water & Life |
GEOG 8 | Intro to Global Warming |
GEOG 12 or GEOG W 12 | Maps & Spatial Reasoning |
GEOG 115A | Remote Sensing of the Environment 1 |
GEOG 115B | Remote Sensing of the Environment 2 |
MCDB 1A | Introductory Biology I |
MCDB 1B and EEMB 2, plus either MCDB 1LL or EEMB 2L | Introductory Biology II and Laboratory |
MCDB 20 | Concepts of Biology |
MCDB 21 | The Immune System and Aids |
MCDB 23 | Biology of Cancer |
MCDB 26 | Contemporary Nutrition |
MCDB 29 | Fundamentals of Biomedical Research |
PHYS 4 + PHYS 4L | Basic Physics and Laboratory |
PHYS 5 + PHYS 5L | Basic Physics and Laboratory |
PSY 108 | Intro to Cognitive Psychology |
Science Electives - List B
An additional 12 units are required from the following set of approved courses, including at least one lab (L) course, and must be taken for a LETTER GRADE:
Course | Title |
---|---|
PHYS 1 |
Basic Physics |
PHYS 2 |
Basic Physics |
PHYS 3 |
Basic Physics |
PHYS 3L | Physics Laboratory |
PHYS 6A | Introductory Physics |
PHYS 6AL | Introductory Experimental Physics |
PHYS 6B | Introductory Physics |
PHYS 6BL | Introductory Experimental Physics |
PHYS 6C | Introductory Physics |
PHYS 6CL | Introductory Experimental Physics |
PHYS 7A | Basic Physics |
PHYS 7B | Basic Physics |
PHYS 7C | Basic Physics |
PHYS 7D | Basic Physics |
PHYS 7L | Physics Laboratory |
CHEM 1A | General Chemistry |
CHEM 1B | General Chemistry |
CHEM 1C | General Chemistry |
CHEM 2AL | General Chimistry Lab |
CHEM 2BL | General Chemistry Lab |
MCDB 1A | Introductory Biology I |
MCDB 1B | Introductory Biology II |
MCDB 1LL | Introductory Biology Laboratory I |
Upper Division Major required courses prior to and including major catalog year 2023-24:
Please click on this link for a PDF copy of the 2023-24 GEAR. Students admitted to the major prior to/before Fall 2024 will continue to follow the older requirements unless they opt-in to change their CS major catalog year to follow the newest major requirements.
Upper Division Major required courses effective for major catalog year 2024-25:
Please click on this link for a PDF copy of the current 2024-25 GEAR.
Upper Division Major Elective Tracks
Depending on your interests, you may wish to focus on certain areas in your major electives. We have therefore created a number of elective specialization tracks to help guide your choices. Elective track recommendations are solely advisory and are not noted officially on any student transcripts or diplomas upon graduation.
Course | Units | Title |
---|---|---|
ENGR 101 | 3 | Ethics in Engineering |
NOTE1: Effective Winter 2022, students must attend a department faculty advising event in order to complete the "prior approval of major electives by faculty" requirement. We no longer require students to submit any forms since attending an event is required.
NOTE2: Effective Fall 2024, the "major elective approval" is no longer required in the CS major. Students may opt-in to change their CS major catalog year to follow the newest 2024-25 major requirements.
As a graduation requirement, all Computer Science majors must receive faculty advising by attending a department faculty advising event. The best time for students to receive faculty advising regarding a range of topics such as research, internships, and elective courses is in their Sophomore year (typically your second year). Students that participate in and attend a department faculty advising event will have their "Major Elective Approval" requirement marked as complete by a Computer Science staff advisor. Effective Winter 2022, students should not complete or submit an approval form, instead students must attend a department faculty advising event.
The department usually hosts a faculty advising event every quarter: in Fall and Winter quarters students can meet one-on-one with faculty at the Speed Advising event, and in Spring quarter students can learn from faculty about the CS courses that are elective options for the major at the Major Electives Info Session event (view the Major Elective slide show here and see the recording of the Spring 2024 Major Elective information session here.
Depending on their GEAR major year, CS students must take either 28 units (GEAR year 2019-20 and prior years) or 32 units (GEAR years 2020-21, 2021-22, 2022-23, 2023-24) of upper-division major field electives. At least 8 units of these electives must be Computer Science courses. The required courses in the upper-division major do not count towards these electives. All upper-division elective courses must be taken for a letter grade.
Academic Advising
Undergraduate Advising
The staff advisors are here to help and support our CS majors through their studies and answer questions related to the CS major. We are available for appointments in-person, and encourage our students to book an appointment to guarantee that we are available and prepared to answer your questions related to your degree progress and requirements.
Staff hours are Monday through Friday 9am-12pm and 1-4pm and we are available by email at cs-undergrad@ucsb.edu, or by appointment at https://calendly.com/ucsb-cs-dept/ or clicking the button below:
Faculty Undergraduate Advisors
CS majors may contact their faculty class advisor for questions regarding their own faculty experiences, undergraduate research, graduate school, jobs in industry. Faculty members are not expected to answer questions about department petitions or degree requirements. Please see below for the contact links of the current faculty class advisors:
Jonathan Balkind Faculty contact for class of 2028
Tobias Höllerer Faculty contact for class of 2027
Ziad Matni Faculty contact for class of 2026
Subhash Suri Faculty contact for class of 2025
Phillip Conrad Faculty contact for Transfer Students