B.S. Computer Engineering

Updated July 17th, 2025

**Prerequisite Note SP25: Students who wish to bypass the CSE 140L prerequisite to enroll in CSE 141 in Spring 2025 may submit an EASy request.**

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 

UCSD- CSE General Catalog

Degree Planning:

CS25 Major Policies
  • 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 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.
  • CSE Technical Electives are not approved for FA25 Curriculum. 

2025-2026 CS25 ELECTIVES

Please note: CE majors (CS25) admitted Fall 2024 and later may only use 8 units of courses outside of ECE/CSE to fulfill major requirements.

Computer Science and Engineering 

Any upper-division CSE course between CSE 100-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 - Intro to Machine Learning II (4) 

COGS 118C - Neural Signal Processing (4)

COGS 120 - Interaction Design (5)

COGS 121 - Human Computer Interaction Programming Studio (4)

COGS 122 - Startup Studio (4)

COGS 123 - Social Computing (4)

COGS 124 - HCI Technical Systems Research (4)

COGS 125 - Advanced Interaction Design (4)

COGS 126 - Human-Computer Interaction (4)

COGS 127 - Designing Human-Data Interactions (4)

COGS 181 - Neural Networks/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 EASy Course Pre-Authorization Forms for COGS course clearance.

Data Science

DSC 102 - Systems for Scalable Analytics (4)

DSC 120 - Signal Processing for Data Analysis (4)

Design

DSGN 100 - Prototyping (4)

Economics

ECON 172A - Operations Research A (4)

ECON 172B - Operations Research B (4)

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 CS25 major.

Engineering (Global Ties)

ENG 100D/ENG 100L: Principles of Team Engineering: globalties.ucsd.edu

  • Students may use up to 8 units of ENG 100D/ENG 100L courses towards upper division CSE Elective credits (as part of the 8 units maximum of CSE 198/199/199H Special Studies courses allowed). You are NOT able to take ENG 100D twice.
  • Students must take ENG 100L twice (2 units each time) to receive credit for upper division CSE Elective (not exceeding the 8 units of CSE 198/199/199H Special Studies courses); students may not combine this course with another 2 unit or 6 unit course.
  • 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)

MATH 187A - Introduction to Cryptography (4)

MATH 189 - Exploratory Data Analysis and Inference (4)

Music

MUS 171 - Computer Music I (4)

MUS 172 - Computer Music ll (4)

MUS 177 - Music Programming (4)

Visual Arts

VIS 141A - Computer Programming for the Arts I (4)

VIS 141B - Computer Programming for the Arts II (4)

_____________________________________________________

  • 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 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.
    • CSE Technical Electives are not approved for FA24 Curriculum. 
    • CSE 15L (2 units) was replaced with CSE 29 (4 units) in Spring 2024. A new updated version of CSE 30 was offered Fall 2024. For students admitted in FA24, to accommodate the two additional units for CSE 29, the Computer Science and Engineering elective was removed.
  • 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).
    • Please see the 2024-25 CSE Electives page for a list of approved technical electives.
  • 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).
    • Please see the 2024-25 CSE Electives page for a list of approved technical electives.
  • 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).
    • Please see the 2024-25 CSE Electives page for a list of approved technical electives.
  • 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). 
    • Please see the 2024-25 CSE Electives page for a list of approved technical electives.
  • 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). 
    • Please see the 2024-25 CSE Electives page for a list of approved technical electives.

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 Collegesample long term plan that includes college requirements

Sample 4 Year Plan (Fall 2024 and after Curriculum)
Year Fall Winter Spring

First Year

CSE 8A or 11*1
MATH 20A
 

CSE 11*1
PHYS 2A
MATH 20B

CSE 12
MATH 20C
MATH 18
PHYS 2B

Second Year

MATH 20D
ECE 35
CSE 29

CSE 30
ECE 45 
PHYS 2C

ECE 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 Elective

CSE/ECE Open Elective
CSE/ECE Elective
CSE/ECE Project

Fourth Year

CSE/ECE Elective
CSE/ECE Elective
CSE/ECE Elective

 

CSE/ECE Elective
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 11 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 and After Curriculum):
Year Fall Winter Spring

First Year

CSE 29
ECE 35

CSE 30
ECE 45
CSE/ECE Elective
CSE/ECE Elective

ECE 101  
CSE 140
CSE/ECE Elective
CSE/ECE Elective

Second Year

ECE 108
CSE 141
CSE/ECE Elective
CSE/ECE Elective

ECE 111
CSE/ECE Open Elective
CSE/ECE Elective
CSE/ECE Elective

CSE/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 2A

Second Year

CSE 21*3
ECE 35
PHYS 2B
MATH 20C

CSE 30
ECE 45
MATH 20D 
PHYS 2C

CSE 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 Elective

Fourth 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


Incoming Computer Engineering (CS25) majors with transfer credit for CSE 11, CSE 12 and CSE 20, 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 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)