Courses required for the major offered by the Department of Computer Science or by any other department must be taken for letter grades. Computer Science course prerequisite charts can be found here: Lower Division, Upper Division (1), and Upper Division (2).
You can obtain a detailed list of GEs from the College of Engineering Undergraduate Office (Harold Frank Hall, room 1006).
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 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||4||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. CS 8 is not included in the list of preparation for the major courses but may be counted as a free elective. If you need help deciding which class is right for you see our Undergraduate Advice page.
Science Courses (Lower Division)
|PHYS 1, 2, 3 and 3L||12||Basic Physics (with 3L lab)|
Science electives (see list below) - 8 units. No course required for the B.S. major may be used to satisfy this requirement.
The courses must be selected from the following set of approved courses
|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|
|CHEM 1A + CHEM 1AL||General Chemistry and Laboratory|
|CHEM 1B + CHEM 1BL||General Chemistry and Laboratory|
|CHEM 1C + CHEM 1CL||General Chemistry and Laboratory|
|PHYS 4||Basic Physics|
|PHYS 4L||Physics Laboratory|
|PHYS 5||Basic Physics|
|PHYS 5L||Physics Laboratory|
|EARTH 2||General Geology: Physical|
|EARTH 4 or 4W||Introduction to Oceanography|
|GEOG 115A||Geographic Photo Interpretation|
|GEOG 115B + GEOG 115BL||Geographic Remote Sensing Techniques and Laboratory|
|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|
|ECE 152A||5||Digital Design Principles|
|CMPSC 154||4||Computer Architecture|
|CMPSC 160||4||Translation of Programming Languages|
|CMPSC 162||4||Programming Languages|
|CMPSC 170||4||Operating Systems|
|PSTAT 120B||4||Probability and Statistics|
|ENGR 101||3||Ethics in Engineering|
Major Field Electives (Upper Division) (20 units)
Free Electives (17 units)
Can be used for a minor, see Double Majors and Letters and Science Minors.