Bachelor of Science

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, http://www.abet.org (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. 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 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:

General Education

You can obtain a detailed list of GEs from the College of Engineering Undergraduate Office (Harold Frank Hall, room 1006).

Lower Division

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.

Course Units Title
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. CS 8 is not included in the list of preparation for the major courses but may be counted as a free elective.

Science Courses (Lower Division)

Course Units Title
PHYS 1, 2, 3 and 3L 12 Basic Physics (with 3L lab)

The courses must be selected from the following set of approved courses

Course Title
ANTH 5 Intro Biological Anthropology
ASTRO 1 Basic Astronomy
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 4W Introduction to Oceanography
EARTH 6 Mountains, Boots & 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 (online course) 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 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

Upper Division

Course Units Title
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 4 Translation of Programming Languages
CMPSC 162 4 Programming Languages
CMPSC 170 4 Operating Systems
PSTAT 120B 4 Probability and Statistics

Ethics Requirement

Course Units Title
ENGR 101 3 Ethics in Engineering

Major Field Electives (Upper Division) (24 units) NOTE! Upper Division Major electives must be approved by a faculty member.

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