Updated July 10th, 2026
The BS Computer Engineering program (CSE-BS-001) 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 (CSE-BS-001) 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 B.S. Computer Engineering 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 - B.S. Computer Engineering FA24 Curriculum
Degree Planning:
- B.S. Computer Engineering Checklist (Fall 2026 Curriculum): a checklist of all major requirements for students on the Fall 2026 curriculum
- CSE-BS-001 Major Policies
-
- All major requirements must be taken for a letter grade and passed with a C- or better (with the exception of CSE-091, CSE-095, CSE-197, CSE-198, and CSE-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-011 cannot be used to replace ECE-109. Please see the CSE Prerequisites page for more information.
- Please note that CSE-020 and CSE-021 are not required courses for the FA25 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-002A-B-C, for PHYS-004A-B-C.
- A maximum of 8 units of P/NP courses may count, chosen from the following: a maximum of 4 units of CSE-198, CSE-199, CSE-199H, ECE-198, ECE-199; a maximum of 4 units of CSE-197 or ECE-197. Beyond CSE and ECE electives, additional units of these courses can count toward the total degree units.
- A maximum of 12 units of CSE-190 can be used towards Open CSE elective credit. May be repeated for credit max 3 times (maximum of 12 units; assuming courses taken for a different topic).
- Please visit the CSE-190 website for current offerings and to view the tag for each course.
- 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.
- Undergraduate students must get instructor's permission and departmental approval (TEA request) to enroll/book a graduate course.
- CSE-291's are topics courses and are counted as part of the maximum of three CSE-190's allowed for CSE electives.
- CSE courses that may not be used as Open CSE Electives courses toward the CE degree are: CSE-180, CSE-180R.
2026-2027 B.S. Computer Engineering Electives:
Please note: B.S. Computer Engineering admitted Fall 2024 and later may only use 8 units of courses outside of ECE/CSE department to fulfill major requirements.
- Computer Science and Engineering
-
Any upper-division CSE course between CSE-100 to 190, 193, 194 that is not being used for another major requirement (and is taken for a letter grade and passed with a C- or better) may be used towards an upper-division "CSE Elective".
- Cognitive Science
-
COGS-108 - Data Science in Practice (4)
COGS-109 - Modeling and Data Analysis (4)
COGS-118A - Supervised Machine Learning Algorithms (4)
COGS-118B - Introduction to Machine Learning II (4)
COGS-118C - Neural Signal Processing (4)
COGS-120 - Interaction Design (5)
COGS-121 - Human Computer Interaction Portfolio Design Studio (4)
COGS-122 - Start-up Studio (4)
COGS-123 - Social Computing (4)
COGS-124 - HCI Technical Systems Research (4)
COGS-125 - Advanced Interaction Design (4)
COGS-126 - Thinking with Computers (4)
COGS-127 - Data-Driven UX/Product Design (4)
COGS-181 - Neural Networks and Deep Learning (4)
COGS-185 - Advanced Machine Learning Methods (4)
COGS-186 - Genetic Algorithms (4)
COGS-187A - Usability and Information Architecture (6)
COGS-187B - Practicum in Professional Web Design (4)
COGS-188 - Artificial Intelligence Algorithms (4)
COGS-189 - Brain Computer Interfaces (4)
Please use the UC San Diego Triton Enrollment Authorization (TEA) request Course Pre-Authorization Forms for COGS course clearance.
- Data Science
-
DSC-100 - Introduction to Data Management (4)
DSC-102 - Systems for Scalable Analytics (4)
DSC-120 - Signal Processing for Data Analysis (4)
- Design
- Economics
- Education Studies
-
EDS-124AR - Teaching Computation in the Digital World (4)
EDS-124BR - Teaching Computational Thinking for Everyone (4)
- Electrical & Computer Engineering
-
Any upper-division ECE course between 100-199 that is not being used for another major requirement (and is taken for a letter grade and passed with a C- or better) may be used towards an upper-division "CSE or ECE Elective" for the B.S. Computer Engineering major.
- Engineering (Global Ties)
-
ENG-100D/ENG-100L: Principles of Team Engineering: globalties.ucsd.edu
- Students may use up to 4 units of ENG-100D/ENG-100L courses towards upper-division CSE Elective credits (as part of the 4 units maximum of CSE 198/199/199H Special Studies courses allowed). You are not able to take ENG-100D twice.
- Students may request to have their degree audit updated by contacting the Virtual Advising Center.
- Linguistics
-
LIGN-165 - Computational Linguistics (4)
LIGN-167 - Deep Learning for Natural Language Understanding (4)
- Mathematics
-
MATH-114 - Introduction to Computational Stochastics (4)
MATH-155A - Geometric Computer Graphics (4)
MATH-170A - Introduction to Numerical Analysis: Linear Algebra (4)
MATH-170B - Introduction to Numerical Analysis: Approximation and Nonlinear Equations (4)
MATH-170C - Introduction to Numerical Analysis: Ordinary Differential Equations (4)
MATH-171A - Introduction to Numerical Optimization: Linear Programming (4)
MATH-171B - Introduction to Numerical Optimization: Nonlinear Programming (4)
MATH-173A - Optimization Methods for Data Science I (4)
MATH-181D - Statistical Learning (4)
- Music
-
MUS-171 - Computer Music I (4)
- Visual Arts
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 and after Curriculum)
-
Year
Fall
Winter
Spring
First Year
CSE-008A or -011*
MATH-020A
CSE-011*
PHYS-002A
MATH-020BCSE-012
MATH-020C
MATH-018
PHYS-002BSecond Year
MATH-020D
ECE-035
CSE-029CSE-030
ECE-045
PHYS-002CECE-101
CSE-140
ECE-109 or MATH-011*
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
*1: Students who do not have programming experience should begin with the two-track course: CSE-008A (take CSE-011 in the second quarter). Students who have programming experience may begin with CSE-011 (take CSE-012 and CSE-029 in the second quarter).
*2: If ECE-109 is listed as a prerequisite to a particular course, MATH-011 cannot 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 and After Curriculum):
-
Year
Fall
Winter
Spring
First Year
CSE-029
ECE-035CSE-030
ECE-045
CSE/ECE Elective
CSE/ECE ElectiveECE-101
CSE-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 2025 Curriculum and Prior
- Major Checklists and Policies
-
BS Computer Engineering (Fall 2025 Curriculum)
- All major requirements must be taken for a letter grade AND passed with a C- or better (with the exception of CSE-091, 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-011 cannot be used to replace ECE-109. Please see the CSE Prerequisites page for more information.
- Please note that CSE-020 and CSE-021 are not required courses for the FA25 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-002A-B-C, for PHYS-004A-B-C.
- A maximum of eight units of P/NP courses may count, chosen from the following: a maximum of four units of CSE-198, CSE-199, CSE-199H, ECE-198, ECE-199; a maximum of four units of CSE-197 or ECE-197. Beyond CSE and ECE electives, additional units of these courses can count toward the total degree units.
- 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.
- CSE Technical Electives are not approved for FA25 Curriculum.
- All major requirements must be taken for a letter grade AND passed with a C- or better (with the exception of CSE-091, 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-011 cannot be used to replace ECE-109. Please see the CSE Prerequisites page for more information.
- Please note that CSE-020 and CSE-021 are not required courses for the FA25 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-004A-B-C, for PHYS-002A-B-C.
- A maximum of eight units of P/NP courses may count, chosen from the following: a maximum of four units of CSE-198, CSE-199, CSE-199H, ECE-198, ECE-199; a maximum of four units of CSE-197 or ECE-197. Beyond CSE and ECE electives, additional units of these courses can count toward the total degree units.
- 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.
- CSE Technical Electives are not approved for FA24 Curriculum.
- CSE-015L (2 units) was replaced with CSE-029 (4 units) in Spring 2024. A new updated version of CSE-030 was offered Fall 2024. For students admitted in FA24, to accommodate the two additional units for CSE-029, the Computer Science and Engineering elective was removed.
- All major requirements must be taken for a letter grade AND passed with a C- or better (with the exception of CSE-091, 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).
- Please see the 2024-25 CSE Electives page for a list of approved technical electives.
- All major requirements must be taken for a letter grade AND passed with a C- or better (with the exception of CSE-091, 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).
- Please see the 2024-25 CSE Electives page for a list of approved technical electives.
- All major requirements must be taken for a letter grade AND passed with a C- or better (with the exception of CSE-091, 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).
- Please see the 2024-25 CSE Electives page for a list of approved technical electives.
- 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).
- Please see the 2024-25 CSE Electives page for a list of approved technical electives.
- For students starting before Fall 2019: All major requirements must be taken for a letter grade (with the exception of CSE-095, 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-095, 197, 198, and 199).
- Please see the 2024-25 CSE Electives page for a list of approved technical electives.
Fall 2023 Curriculum and Prior Sample 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 2023 Curriculum):
-
Year
Fall
Winter
Spring
First Year
CSE-008A or-011*
MATH-020A
CSE-008B*
CSE-020*2
MATH-020B
CSE-012
CSE-015L
MATH-018
PHYS-002ASecond Year
CSE-021*
ECE-035
PHYS-002B
MATH-020CCSE-030
ECE-045
MATH-020D
PHYS-002CCSE-100
ECE-065
ECE-109
Third Year
CSE-101
CSE-110
CSE/ECE Elective
ECE-101
CSE-140
CSE-140L
ECE-111
CSE-141*
CSE-141L*
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-008A (take CSE-008B in the second quarter). Students who have programming experience may begin with CSE 11 (take CSE-012 and CSE-015L in the second quarter).
*2: CSE-020 may be substituted with MATH-109 or MATH-031CH. This is a manual update an advisor needs to make. Send a message through the Virtual Advising Center (VAC)
*3: CSE-021 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-035 ECE-045 ECE-065 CSE-015L or CSE-029 CSE-021 CSE-100 CSE-030** 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-015L and CSE-030 concurrently during their first Fall Quarter.
- Incoming Computer Engineering majors with transfer credit for CSE-011, CSE-012, CSE-020, and CSE-030, click here for a sample long-term plan.
-
Fall Quarter - Year One
Winter Quarter - Year One
Spring Quarter - Year One
ECE-035 ECE-045 ECE-065 CSE-015L CSE-100 CSE-101 CSE-021 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 (DSC-BS-001)
- Math-Computer Science majors (MATH-BS-003)