Computer engineering encompasses studies of hardware, software, and systems issues that arise in the design, development, and application of computer systems. Computer engineers are particularly well suited to address the particular challenges that exist as computing systems interact with the real, physical world. This includes sensing, actuation, timing, security, and computing systems with widely varying form factors, ranging from servers to mobile devices to the "internet of things." The degree requires 120 units including core courses, technical electives, a capstone course, and common studies.
The Bachelor of Science in Computer Engineering degree is jointly administered by the Department of Computer Science and Engineering and the Department of Electrical and Systems Engineering.
Students working toward a Bachelor of Science in Computer Engineering degree must meet all requirements for an engineering degree from the McKelvey School of Engineering. Required courses and technical electives cannot be taken on a Pass/No Pass basis.
Core Requirements*
The following courses are required of all computer engineering students:
| Code | Title | Units |
|---|---|---|
| CSE 1301 | Introduction to Computer Science | 3 |
| CSE 1302 | Introduction to Computer Engineering | 3 |
| CSE 2407 | Data Structures and Algorithms | 3 |
| CSE 2600 | Introduction to Digital Logic and Computer Design | 3 |
| CSE 3601 | Introduction to Systems Software | 3 |
| CSE 3602 | Computer Architecture | 3 |
| ESE 1050 | Introduction to Electrical and Systems Engineering | 4 |
| ESE 2300 | Introduction to Electrical and Electronic Circuits | 4 |
| ESE 2320 | Introduction to Electronic Circuits | 3 |
| ESE 3260 | Probability and Statistics for Engineering | 3 |
| Total Units | 32 | |
- *
Each of these core courses must be passed with a grade of C- or better.
Technical Elective Requirements
21 units of technical electives that fulfill the following requirements:
1. At least two courses from the following list (the "hardware" list):
| Code | Title | Units |
|---|---|---|
| CSE 4603 | Digital Integrated Circuit Design and Architecture | 3 |
| ESE 3300 | Engineering Electromagnetics Principles | 3 |
| ESE 3301 | Electromagnetics Laboratory: Spectrum From Radio to Photonics | 3 |
| ESE 3310 | Electronics Laboratory | 3 |
| ESE 3510 | Signals and Systems | 3 |
| ESE 4301 | Quantum Mechanics for Engineers | 3 |
| ESE 4310 | Introduction to Quantum Electronics | 3 |
| ESE 4330 | Radio Frequency and Microwave Technology for Wireless Systems | 3 |
| ESE 4360 | Semiconductor Devices | 3 |
| ESE 4410 | Control Systems | 3 |
| ESE 4440 | Sensors and Actuators | 3 |
| ESE 4460 | Robotics: Dynamics and Control | 3 |
| ESE 4650 | Digital Systems Laboratory | 3 |
| ESE 4710 | Communications Theory and Systems | 3 |
| ESE 4820 | Digital Signal Processing | 3 |
2. At least two courses from the following list (the "software" list):
| Code | Title | Units |
|---|---|---|
| CSE 2301 | Introduction to Parallel and Concurrent Programming | 3 |
| CSE 3302 | Object-Oriented Software Development Laboratory | 3 |
| CSE 3605 | Elements of Computing Systems | 3 |
| CSE 4202 | Operating Systems Organization | 3 |
| CSE 4205 | Programming Systems and Languages | 3 |
| CSE 4301 | Translation of Computer Languages | 3 |
| CSE 4303 | Introduction to Computer Security | 3 |
| CSE 4304 | Reverse Engineering and Malware Analysis | 3 |
| CSE 4607 | Embedded Computing Systems | 3 |
| CSE 4608 | Introduction to Quantum Computing | 3 |
| CSE 4703 | Introduction to Computer Networks | 3 |
3. The remaining three courses can be any CSE course with an S, M, T, or A suffix; or CSE 3407 Analysis of Algorithms; or any ESE course at the 3000 level or higher; or ESE 2050 Introduction to Engineering Design, ESE 2180 Linear Algebra and Component Analysis, or ESE 2190 Vector Calculus and Dynamics of Physical Systems. Additional courses (beyond the two required) in the above lists count toward this requirement.
The above can include courses at the graduate level; however, they must still meet one of the two criteria above. Up to 6 units of independent study (CSE 4001 Independent Study, CSE 4970 Senior Project I, CSE 4971 Senior Project II, CSE 4972, CSE 4973, CSE 4974, CSE 4975 Undergraduate Honors Thesis, ESE 4999 Independent Study, ESE 4991 Undergraduate Research) can count toward technical electives. There is no limit as to how many independent study courses can count toward the general 120 units.
Capstone Requirement
The capstone requirement can be met by taking either CSE 4602 Computer Systems Design or ESE 4970 Electrical Engineering Capstone Design Projects.
Common Studies Requirements
| Code | Title | Units |
|---|---|---|
| CWP 150X | College Writing | 3 |
| Humanities and Social Sciences Electives | 18 | |
| MATH 1510 | Calculus I | 3 |
| MATH 1520 | Calculus II | 3 |
| MATH 2130 | Calculus III | 3 |
| MATH 2500 | Differential Equations | 3 |
| Natural Sciences Elective | 3 | |
| PHYSICS 1740 | Physics I | 3 |
| PHYSICS 1741 | Physics I Laboratory | 1 |
| PHYSICS 1742 | Physics II | 3 |
| PHYSICS 1743 | Physics II Laboratory | 1 |
| Total Units | 44 | |
Upon completing a course in the calculus sequence (MATH 1510 Calculus I-MATH 1520 Calculus II-MATH 2130 Calculus III) with a grade of C+ or better, the student may apply to receive credit for the preceding courses in the calculus sequence by following the mathematics department's back credit policy.
The natural sciences requirement is for 3 units designated NSM (Natural Sciences and Mathematics) from any of the following departments: Anthropology, Biology, Chemistry, Earth and Planetary Sciences, Environmental Studies or Physics. These courses must be completed with a grade of C– or better.
The College Writing Program, humanities, and social sciences requirements are those required of all students in the McKelvey School of Engineering.