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.
You can obtain a detailed list of GEs from the College of Engineering Undergraduate Office (Harold Frank Hall, room 1006) or via email (firstname.lastname@example.org). 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, 3B||8||Calculus and its Applications, Courses 1-2|
|Math 4A, 4B||8||Linear Algebra and its 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 48||4||Computer Science Project|
|CMPSC 56||4||Advanced Applications Programming|
|CMPSC 64||4||Computer Organization and Logic Design|
|PSTAT 120A||4||Probability 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 3L||12||Basic 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.
Intro Biological Anthropology
|Advanced Placement Biology Exam (score of 3 or higher will credit you with 8 science elective units)|
|ASTRO 2||History of the Universe|
|CHEM 1A + CHEM 1AL||General Chemistry and Laboratory|
|CHEM 1B + CHEM 1BL||General Chemistry and Laboratory|
|CHEM 1C + CHEM 1CL||General Chemistry and Laboratory|
|EARTH 2||General Geology: Physical|
|EARTH 4 or EARTH 4 W (online version)||Introduction to Oceanography|
|EARTH 6||Mountains, Boots & Backpacks|
|EARTH 8||Africa: Climate & Human Evolution|
|EARTH 9||Giant Earthquakes|
|EARTH 10||Antarctica: The Last Place on Earth|
|EARTH 20 or Earth W 20 (online version)||Geological Catastrophes|
|EARTH 30||The History of Life|
|EARTH 111||Principles of Paleontology|
|EARTH 123||The Solar System|
|EARTH 130||Global Warming: Science & Society|
|EEMB 21||General Biology|
|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 3A||Oceans & Atmosphere|
|GEOG 3B||Land, Water & Life|
|GEOG 8||Living with Global Warming|
|GEOG 12 or GEOG W 12||Maps & Spatial Reasoning|
|GEOG 115A||Geographic Photo Interpretation|
|GEOG 115B + GEOG 115BL||Geographic Remote Sensing Techniques and Laboratory|
|MCDB 1A + 1AL||Introductory Biology I and Laboratory|
|MCDB 1B and EEMB 2 plus either MCDB 1BL or EEMB 2L||Introductory Biology II and Laboratory|
|MCDB 20||Concepts of Biology|
|MCDB 21||The Immune System of Aids|
|MCDB 23||Biology of Cancer|
|MCDB 26||Contemporary Nutrition|
|MCDB 27||Memory: Bridging the Humanities & Neuroscience|
|MCDB 29||Fundamental of Biomedical Research|
|PHIL 183||Beginning of Modern Logic|
|PHYS 4||Basic Physics|
|PHYS 4L||Physics Laboratory|
|PHYS 5||Basic Physics|
|PHYS 5L||Physics Laboratory|
|PSY 107||Intro to Perception|
|PSY 108||Intro to Cognitive Psychology|
|CMPSC 111 or 140||4||Introduction to Computational Science or Parallel Scientific Computing|
|CMPSC 130A and 130B||8||Data Structures and Algorithms I and II|
|CMPSC 138||4||Automata and Formal Languages|
|CMPSC 154||4||Computer Architecture|
|CMPSC 160 or 162||4||Translation of Programming Languages or Programming Languages|
|CMPSC 170||4||Operating Systems|
|PSTAT 120B||4||Probability and Statistics|
|ENGR 101||3||Ethics 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.