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 and Engineering (BS) program is accredited by (a) the Engineering Accreditation Commission of ABET under the commission’s General Criteria and Program Criteria for Electrical, Computer, Communications, Telecommunication(s), and Similarly Named Engineering Programs and by (b) the Computing Accreditation Commission, under the commission’s General Criteria and Program Criteria for Computer Science and Similarly Named Computing Programs.
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.
Code | Title | Units |
---|---|---|
Lower Division Required Courses | ||
Mathematics | ||
MAT 021A | Calculus | 4 |
MAT 021B | Calculus | 4 |
MAT 021C | Calculus | 4 |
MAT 021D | Vector Analysis | 4 |
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 | ||
Physics | ||
PHY 009A | Classical Physics | 5 |
PHY 009B | Classical Physics | 5 |
PHY 009C | Classical Physics | 5 |
PHY 009D | Modern Physics | 4 |
Chemistry | ||
CHE 002A | General Chemistry | 5 |
Computer Science Engineering | ||
ECS 020 | Discrete Mathematics For Computer Science | 4 |
ECS 050 | Computer Organization & Machine-Dependent Programming | 4 |
Choose a series option (must complete one full series in entirety; mixing of courses between series is not allowed): | 12-16 | |
(a) | ||
Programming & Problem Solving | ||
Software Development & Object-Oriented Programming in C++ | ||
Data Structures, Algorithms, & Programming | ||
(b) | ||
Introduction to Programming | ||
or ECS 032AV | Introduction to Programming | |
or ECS 036A | Programming & Problem Solving | |
Introduction to Data Structures | ||
Implementation of Data Structures in C | ||
Software Development in UNIX & C++ | ||
Engineering | ||
ENG 017 | Circuits I | 4 |
or ENG 017V | Circuits I | |
Communications | ||
CMN 001 | Introduction to Public Speaking | 4 |
or CMN 001V | Introduction to Public Speaking | |
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 | ||
or ENL 003V | 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 Subtotal | 78-84 | |
Upper Division Required Courses | ||
Computer Science Engineering | ||
ECS 132 | Probability & Statistical Modeling for Computer Science | 4 |
ECS 140A | Programming Languages | 4 |
ECS 150 | Operating Systems & System Programming | 4 |
ECS 152A/EEC 173A | Computer Networks | 4 |
ECS 154A | Computer Architecture | 4 |
ECS 154B | Computer Architecture | 4 |
ECS 160 | Software Engineering | 4 |
ECS 188 | Ethics in an Age of Technology | 4 |
ECS 193A | Capstone Project | 3 |
ECS 193B | Capstone Project | 3 |
ECS 120 | Theory of Computation | 4 |
or ECS 122A | Algorithm Design & Analysis | |
Electrical & Computer Engineering | ||
EEC 100 | Circuits II | 5 |
EEC 172 | Embedded Systems | 4 |
Computer Science Electives | ||
Choose a minimum of four courses and a minimum of 15 units 1 | 15 | |
Upper Division Composition Requirement | ||
Choose one: | 0-4 | |
Advanced Composition (Grade of C- or better required.) | ||
or UWP 101V | Advanced Composition | |
or UWP 101Y | Advanced Composition | |
Passing the Upper Division Composition Exam administered by the College of Letters & Science. | ||
Upper Division Required Courses Subtotal | 66-70 | |
Total Units | 144-154 |
- 1
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.