Updated Sept. 24, 2024
Curriculum update: CSE 15L (2 units) will be replaced with CSE 29 (4 units) in Spring 2024. A new updated version of CSE 30 will be offered Fall 2024. For students admitted in FA24, to accommodate the two additional units for CSE 29, the Computer Science and Engineering elective will be removed.
The BS computer engineering program is jointly administered by the Departments of Computer Science and Engineering and Electrical and Computer Engineering. The curriculum is the same in both departments. Students wishing to take the computer engineering program must be admitted to one of the departments.
Many exciting innovations have recently sprung from the boundary between hardware and software — the domain of computer engineering. Harnessing hardware and software together opens the door to building innovative technologies that are not possible in one domain or the other. Topics in the exciting field span many areas of computer science and electrical engineering: embedded systems, computer architecture, robotics, cryptography & security, machine learning, mobile & ubiquitous computing, and systems & networking.
The lower-division computer engineering program is designed to provide a strong foundation in mathematics, physics, electrical engineering, programming methodology and skills, and computer organization. Upper-division core courses deal with the theory and design of algorithms, hardware and software, as well as electronic systems. Students can gain additional breadth and/ or depth in computer science and engineering by an appropriate selection of technical electives.
The BS Computer Engineering program has been updated for Fall 2024 to enable Computer Engineering students to explore Computer Engineering from both a CSE and ECE perspective, to ensure hands-on project-based learning, and to support timely degree completion. Please see the Fall 2024 Computer Engineering Checklist and policies below for more information.
If you are a current Computer Engineering major and would like to change your degree audit to the new curriculum, please review the B.S. Computer Engineering Degree homepage and all of its content, including the CS25 Major Checklist that can be found below. Current Computer Engineering students may reach out to CSE Advising via the VAC to change their curriculum to FA24 version after completing the "Intent to Change Degree Audit" Google Form.
Intent to Change Degree Audit - CS25 FA24 Curriculum
Degree Plan Checklist:
- BS Computer Engineering (Fall 2024 Curriculum)
- All major requirements must be taken for a letter grade AND passed with a C- or better (with the exception of CSE 91, CSE 95, 197, 198, and 199).
- Only 8 units of CSE Electives or ECE Technical Elective courses from departments outside of CSE or ECE may be used to fulfill major requirements.
- If ECE 109 is listed as a prerequisite to a particular course, MATH 11 cannot not be used to replace ECE 109. Please see the CSE Prerequisites page for more information.
- Please note that CSE 20 and CSE 21 are not required courses for the FA24 CE curriculum but may be required for certain CSE course prerequisites (e.g. CSE 100). Please see the CSE Prerequisites page and plan accordingly to fulfill CSE course prerequisites.
- Students who received high grades in both calculus and physics in high school may substitute the major’s sequence, PHYS 4A-B-C, for PHYS 2A-B-C.
- A maximum of four units of P/NP courses may count among the following: CSE 198, CSE 199, CSE 199H, ECE 191, ECE 193H, ECE 196, ECE 198, ECE 199.
- Undergraduate students may use CSE or ECE graduate -level courses towards their major requirements, but may need a petition if they have taken the equivalent/similar undergraduate course.
- BS Computer Engineering (Fall 2023 Curriculum)
- All major requirements must be taken for a letter grade AND passed with a C- or better (with the exception of CSE 91, CSE 95, 197, 198, and 199).
- ECE 108 may be substituted with another upper-division CSE or ECE course that is not currently being used to satisfy another major requirement. This is a manual update an advisor needs to make. Please send a message through the Virtual Advising Center (VAC).
- BS Computer Engineering (Fall 2022 Curriculum)
- All major requirements must be taken for a letter grade AND passed with a C- or better (with the exception of CSE 91, CSE 95, 197, 198, and 199).
- ECE 108 may be substituted with another upper-division CSE or ECE course that is not currently being used to satisfy another major requirement. This is a manual update an advisor needs to make. Please send a message through the Virtual Advising Center (VAC).
- BS Computer Engineering (Fall 2021 Curriculum)
- All major requirements must be taken for a letter grade AND passed with a C- or better (with the exception of CSE 95, 197, 198, and 199).
- ECE 108 may be substituted with another upper-division CSE or ECE course that is not currently being used to satisfy another major requirement. This is a manual update an advisor needs to make. Please send a message through the Virtual Advising Center (VAC).
- BS Computer Engineering (Fall 2020 Curriculum)
- For Students starting Fall 2019 or after: All major requirements must be taken for a letter grade AND passed with a C- or better (with the exception of CSE 95, 197, 198, and 199).
- BS Computer Engineering (Fall 2015 Curriculum)
- For students starting before Fall 2019: All major requirements must be taken for a letter grade (with the exception of CSE 95, 197, 198, and 199).
- For Students starting Fall 2019 or after: All major requirements must be taken for a letter grade AND passed with a C- or better (with the exception of CSE 95, 197, 198, and 199).
Academic Plans:
-
Academic Planning Worksheet (link to copy a Google Sheet): blank worksheet for students to be able to create a sample long term plan which can be brought to an advising meeting
-
Sample Plans By College: sample long term plan that includes college requirements
- Sample 4 Year Plan (Fall 2024 Curriculum)
-
Year Fall Winter Spring First Year
CSE 8A or 11*1
MATH 20A
CSE 8B*1
PHYS 2A
MATH 20B
CSE 12
MATH 20C
MATH 18
PHYS 2BSecond Year
MATH 20D
ECE 35
CSE 29CSE 30
ECE 45
PHYS 2CECE 101
CSE 140
ECE 109 or MATH 11*2
Third Year
CSE 141
ECE 108
ECE 111
CSE/ECE Open Elective
CSE/ECE Elective
CSE/ECE ElectiveCSE/ECE Open Elective
CSE/ECE Elective
CSE/ECE ProjectFourth Year
CSE/ECE Elective
CSE/ECE Elective
CSE/ECE ElectiveCSE/ECE Elective
CSE/ECE ElectiveCSE/ECE Elective
CSE/ECE Elective
ELECTIVE*1: Students who do not have programming experience should begin with the two-track course: CSE 8A (take CSE 8B in the second quarter). Students who have programming experience may begin with CSE 11 (take CSE 12 and CSE 15L in the second quarter).
*2: If ECE 109 is listed as a prerequisite to a particular course, MATH 11 cannot not be used to replace ECE 109. Please see the CSE Prerequisites page for more information about CSE Prerequisites.
*Electives: Students are permitted to take pre-approved courses to fulfill their CSE Electives and Technical Electives requirements. Only 8 units of CSE Electives or ECE Technical Elective courses from departments outside of CSE or ECE may be used to fulfill major requirements. Please note that courses on this list may not automatically populate in the correct area of a student's degree audit. In order to update the audit, please contact the CSE major advisors through the Virtual Advising Center (VAC). - Sample Transfer Plan (Fall 2024 Curriculum):
-
Year Fall Winter Spring First Year
CSE 29
ECE 35CSE 30
ECE 45
CSE/ECE Elective
CSE/ECE ElectiveECE 101
ECE 140
CSE/ECE Elective
CSE/ECE ElectiveSecond Year
ECE 108
CSE 141
CSE/ECE Elective
CSE/ECE ElectiveECE 111
CSE/ECE Open Elective
CSE/ECE Elective
CSE/ECE ElectiveCSE/ECE Open Elective
CSE/ECE Elective
CSE/ECE Elective
CSE/ECE Project*Electives: Students are permitted to take pre-approved courses to fulfill their CSE Electives and Technical Electives requirements. Only 8 units of CSE Electives or ECE Technical Elective courses from departments outside of CSE or ECE may be used to fulfill major requirements. Please note that courses on this list may not automatically populate in the correct area of a student's degree audit. In order to update the audit, please contact the CSE major advisors through the Virtual Advising Center (VAC)
FALL 2023 Curriculum and Prior Sample Plans
- Sample 4-year Plan (Fall 2023 Curriculum):
-
Year Fall Winter Spring First Year
CSE 8A or 11*1
MATH 20A
CSE 8B*1
CSE 20*2
MATH 20B
CSE 12
CSE 15L
MATH 18
PHYS 2ASecond Year
CSE 21*3
ECE 35
PHYS 2B
MATH 20CCSE 30
ECE 45
MATH 20D
PHYS 2CCSE 100
ECE 65
ECE 109
Third Year
CSE 101
CSE 110
CSE/ECE Elective
ECE 101
CSE 140
CSE 140L
ECE 111
CSE 141*4
CSE 141L*4
Technical ElectiveFourth Year
CSE 120
CSE/ECE Elective
ECE 108
CSE/ECE Elective
CSE/ECE Elective
CSE/ECE Elective
*1: Students who do not have programming experience should begin with the two-track course: CSE 8A (take CSE 8B in the second quarter). Students who have programming experience may begin with CSE 11 (take CSE 12 and CSE 15L in the second quarter).
*2: CSE 20 may be substituted with MATH 109 or MATH 31CH. This is a manual update an advisor needs to make. Send a message through the Virtual Advising Center (VAC)
*3: CSE 21 may be substituted with MATH 154 or MATH 184. This is a manual update an advisor needs to make. Send a message through the Virtual Advising Center (VAC) *Effective Winter 2023: CSE 21 may be substituted with MATH 154 or MATH 184 or MATH 188*
*4: Students must either take CSE 141 + 141L or CSE 142 + 142L.
*Electives: Students are permitted to take any of these pre-approved courses to fulfill their CSE Electives and Technical Electives requirements. Please note that courses on this list may not automatically populate in the correct area of a student's degree audit. In order to update the audit, please contact the CSE major advisors through the Virtual Advising Center (VAC).
Transfer Students Admitted in FA23 or Prior:
Transfer students are in a special situation where the credits they come in with vary vastly from one student to another. To assist transfer students with their long term plans for completing major requirements, we have created different long term plans with different entry points depending on the CSE credits students typically come in with. These plans only include CSE major requirements, for questions regarding your college and university requirements please check with your college.
*These plans only focus on CSE coursework. For a list of all CSE Major requirements (including math and general science courses needed), please see the BS Computer Engineering Checklist above.
-
Fall Quarter - Year One Winter Quarter - Year One Spring Quarter - Year One ECE 35 ECE 45 ECE 65 CSE 15L CSE 21 CSE 100 CSE 30** CSE/ECE Elective ECE 101 Fall Quarter - Year Two Winter Quarter - Year Two Spring Quarter - Year Two CSE 101 CSE 120 CSE 141 CSE 110 ECE 109 CSE 141L ECE 111 CSE 140 ECE 108 CSE 140L Technical Elective Fall Quarter - Year Three CSE/ECE Elective CSE/ECE Elective CSE/ECE Elective CSE/ECE Elective ** CSE transfer students may take CSE 15L and CSE 30 concurrently during their first Fall Quarter.
- Incoming Computer Engineering (CS25) majors with transfer credit for CSE 11, CSE 12, CSE 20, and CSE 30, click here for a sample long-term plan.
-
Fall Quarter - Year One Winter Quarter - Year One Spring Quarter - Year One ECE 35 ECE 45 ECE 65 CSE 15L CSE 100 CSE 101 CSE 21 CSE/ECE Elective CSE 110 Fall Quarter - Year Two Winter Quarter - Year Two Spring Quarter - Year Two ECE 101 ECE 111 ECE 109 CSE 120 CSE 141 ECE 108 CSE 140 CSE 141L CSE/ECE Elective CSE 140L CSE/ECE Elective Fall Quarter - Year Three CSE/ECE Elective CSE/ECE Elective Technical Elective
Major restrictions - The following majors may NOT double major or minor in CSE:
- Any majors that fall under the Jacob's School of Engineering
- Data Science majors (DS25)
- Math-Computer Science majors (MA30)