Computer Science & Engineering, Bachelor of Science College of Engineering

The Computer Science Engineering major prepares students to do further work in hardware, software, theory, or electronics, either in industry or in postgraduate study.

The primary differences between the Computer Science Engineering and the Computer Science majors are the extent of course work covering hardware and the flexibility of the curriculum. The Computer Science Engineering major develops a solid understanding of the entire machine, including hands-on experience with its hardware components. The Computer Science major has some course work on hardware, at the digital-design level, on simulators. The Computer Science Engineering major has fewer free electives. The CS major's more generous electives make it easier to complete a minor or double major.

A key theme of the Computer Science Engineering curriculum is the hardware/software interaction, a theme reflected in the courses required and the orientation of the courses themselves.

The Computer Science & Engineering major provides students with a solid background in mathematics, physics, chemistry, and electronic circuits and systems, all supporting the computer hardware and computer software courses that constitute the focus of the curriculum.

Computer Science & Engineering Undergraduate Program

The Computer Science & Engineering program is accredited by the Engineering Accreditation Commission and the Computing Accreditation Commission of ABET.

Students are encouraged to adhere carefully to all prerequisite requirements. The department is authorized to drop students from a course for which stated prerequisites have not been completed.

Major Advisors

A. Abrahamson, J. Clifford, K. Gage, P. Kumari

For information on how to speak to an advisor, see CS Undergraduate Advising.

Before declaring a major in Computer Science & Engineering, students must complete specific course requirements and meet GPA minimums. For a full list of requirements to declare the major, see CS Advising.

The major requirements below are in addition to meeting University Degree Requirements & College Degree Requirements; unless otherwise noted. The minimum number of units required for the Computer Science & Engineering Bachelor of Science is 144.

Lower Division Required Courses
MAT 021ACalculus4
MAT 021BCalculus4
MAT 021CCalculus4
MAT 021DVector Analysis4
Choose one: 3-4
Linear Algebra
Linear Algebra with Applications to Biology
Modern Linear Algebra
Choose one:3-4
Differential Equations
Differential Equations with Applications to Biology
PHY 009AClassical Physics5
PHY 009BClassical Physics5
PHY 009CClassical Physics5
PHY 009DModern Physics4
CHE 002AGeneral Chemistry5
Computer Science Engineering
ECS 020Discrete Mathematics For Computer Science4
ECS 050Computer Organization & Machine-Dependent Programming4
Choose a series option (must complete one full series in entirety; mixing of courses between series is not allowed):12-16
Programming & Problem Solving
Software Development & Object-Oriented Programming in C++
Data Structures, Algorithms, & Programming
Introduction to Programming
Programming & Problem Solving
Introduction to Data Structures
Implementation of Data Structures in C
Software Development in UNIX & C++
ENG 017Circuits I4
or ENG 017V Circuits I
CMN 001Introduction to Public Speaking4
Lower Division Composition/Writing; choose one; a grade of C- or better is required:4
Major Works of the Ancient World
Major Works of the Medieval & Early Modern World
Major Works of the Modern World
Major Works of the Contemporary World
Introduction to Literature
Introduction to Literature
Introduction to Native American Literature
Introduction to Academic Literacies (Recommended)
Introduction to Academic Literacies: Online (Recommended)
Introduction to Academic Literacies (Recommended)
Lower Division Required Courses Subtotal78-84
Upper Division Required Courses
Computer Science Engineering
ECS 132Probability & Statistical Modeling for Computer Science4
ECS 140AProgramming Languages 4
ECS 150Operating Systems & System Programming4
ECS 152A/EEC 173AComputer Networks4
ECS 154AComputer Architecture4
ECS 154BComputer Architecture4
ECS 160 Software Engineering4
ECS 188Ethics in an Age of Technology4
ECS 193ACapstone Project3
ECS 193BCapstone Project3
ECS 120Theory of Computation4
or ECS 122A Algorithm Design & Analysis
Electrical & Computer Engineering
EEC 100Circuits II5
EEC 172Embedded Systems 4
Computer Science Electives
Choose a minimum of four courses and a minimum of 15 units 115
Upper Division Composition Requirement
Choose one:0-4
Advanced Composition (Grade of C- or better required.)
Advanced Composition
Advanced Composition
Passing the Upper Division Composition Exam administered by the College of Letters & Science.
Upper Division Required Courses Subtotal66-70
Total Units144-154

Chosen from ECS courses numbered 120 to 189 inclusive; one approved course of 3-5 units from ECS 192 or ECS 199; EEC 171, EEC 180; one course may be taken from the following restricted elective list: ECN 122; LIN 127, LIN 177; MAT 135A, MAT 135B; PSC 120; STA 131A, STA 131B. No course can count as both a required course and a computer science and engineering elective.