Computer Systems Engineering
The CSE major is a pre-approved individually designed engineering major sponsored and managed by the CS department. The CSE major gives students a combination of CS and EE knowledge required to design and build both general purpose and application-specific computer systems. The CSE major has 3 specializations from which to choose: Networking, Digital Systems, and Robotics and Mechatronics. The Networking specialization teaches students the fundamental aspects of networking hardware and software. The Digital Systems specialization teaches students how to design and build digital hardware and the low-level software required to support it. The Robotics and Mechatronics specialization gives students experience building hardware and software for robotic and mechanized systems.
Differences between CS and CSE
In terms of coursework, CSE majors take some additional introductory EE courses instead of some of the core CS theory courses. The CSE major also has different pre-approved specializations than the CS major. For definitive information, see the CS and CSE program sheets. For more information on the CS major requirements, see the requirements page. Please contact the Course Advisor with any questions about the CS or CSE majors.
Required for CS and CSE
- Calculus (MATH41, MATH42)
- Mechanics (PHYSICS41)
- Electricity and Magnetism (PHYSICS43)
- Introductory Electronics (ENGR40)
- Engineering Fundamental Elective
- Programming Abstractions (CS106)
- Computer Organization and Systems (CS107)
- Mathematical Foundations of Computing (CS103)
- Introduction to Probability for Computer Scientists (CS109)
- Technology in Society Course
- Senior Project
Required for CS
- Principles of Computer Systems (CS110) — CSE majors must take CS108 or CS110.
Required for CSE
- Digital Systems I (EE108A)
- Digital Systems II (EE108B) — EE108B counts as an elective for CS majors.
Specialization Requirements and Electives
This information is presented here for the sake of convenience only; it is neither complete nor definitive. Please see specific program sheets for full details on course requirements for individual specializations.
| Class | CSE | CS | |||
|---|---|---|---|---|---|
| Robotics | Digital Systems | Networking | Systems | General Electives | |
| Digital Systems I (EE108A) | Requirement | Requirement | Requirement | ||
| Digital Systems II (EE108B) | Requirement | Requirement | Requirement | Elective | Elective |
| Signals and Systems I (EE102A) | Requirement | Elective | Requirement | ||
| Signals and Systems II (EE102B) | Requirement | Elective | Requirement | ||
| Computer Architecture (EE282) | Elective | Elective | Elective | ||
| Object-Oriented Systems Design (CS108) | Elective | Elective | Elective | Elective | |
| Principles of Computer Systems (CS110) | Elective | Elective | Elective | Requirement | |
| Operating Systems (CS140) | Elective | Requirement | Requirement | Elective | |
| Compilers (CS143) | Elective | Elective | Elective | ||
| Introduction to Computer Networking (CS144) | Elective | Requirement | Elective | Elective | |
| Mathematical Methods (CS205A) | Requirement | Elective | |||
| Introduction to Robotics (CS223A) | Requirement | Elective | |||
| Introduction to Computer Vision (CS223B) | Elective | Elective | |||
| Advanced Topics in Operating Systems (CS240) | Elective | Elective | Elective | ||
| Embedded Wireless Systems (CS240E) | Elective | Elective | Elective | Elective | |
| Advanced Topics in Networking (CS244) | Elective | Elective | Elective | Elective | |
| Lower-Power Wireless Networking (CS244E) | Elective | Elective | Elective | Elective | |