Computer Engineering Major

 

NOTE: WITH THE EXCEPTION OF SP20, FA20, WI21 AND SP21, ALL COURSES USED TO SATISFY MAJOR REQUIREMENTS MUST BE TAKEN FOR A LETTER GRADE AND RECEIVE A GRADE OF C- OR BETTER.

ECE P/NP EXCEPTION


Students wishing to pursue the computer engineering curriculum may do so in either the ECE or CSE department. The set of required courses and allowed electives is the same in both departments; please note that the curriculum requires eighteen upper-division courses. The Computer Engineering Program requires a total of 132 units (not including the general-education requirements).

The Computer Engineering Program offers a strong emphasis on engineering mathematics and other basic engineering science as well as a firm grounding in computer science. Students should have sufficient background in high school mathematics so that they can take first-year calculus in their first quarter. Courses in high school physics and computer programming, although helpful, are not required for admission to the program.

CE MAJOR REQUIREMENTS Effective FALL 2024:

Lower-Division Requirements
(total of sixty units)

Mathematics (twenty units)

MATH 18 and 20A-B-C-D

Physics (twelve units)

PHYS 2A-B-C, or PHYS 4A-B-C. MATH 20A is a prerequisite for PHYS 2A. Students whose performance on the Department of Mathematics placement test permits them to start with MATH 20B or a higher course may take PHYS 2A in the fall quarter of the first year; all others will take PHYS 2A in the winter quarter of the first year. Students who receive 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.

Computer Science (sixteen units)

CSE 11 or 8B,* CSE 12, CSE 29 or ECE 15, CSE 30 or ECE 30.

*Students without any programming experience are advised to take CSE 8A, and then CSE 8B, instead of CSE 11. CSE 11 is a faster-paced version of CSE 8A and CSE 8B and requires experience in programming with a compiled language.

Electrical Engineering (eight units)

ECE 35, ECE 45

Probability and Statistics (four units)

MATH 11 or ECE 109. If ECE 109 is listed as a prerequisite to a particular course, MATH 11 cannot be used to replace ECE 109.

Upper-Division Requirements
(total of sixty-four units)

  1. All BS computer engineering students are required to take CSE 140, CSE 141, or CSE 142.
  2. BS computer engineering students must fulfill the following upper-division ECE requirements: ECE 101, ECE 108, and ECE 111.
  3. CSE or ECE Project Course: Students need to select and complete one course from this list: CSE 118, CSE 145, CSE 147, CSE 148, CSE 170, CSE 176A, CSE 176E, ECE 115, ECE 140B, ECE 144, ECE 191, ECE 196. (four units).
  4. Electives: Ten courses (forty units) must be completed
    • At least forty units of upper-division (or graduate) CSE and ECE courses need to be taken as electives, which includes CSE 100–299 and ECE 100–299. 
    • Maximum of four units of P/NP courses may count among the following: CSE 198, CSE 199, CSE 199H, ECE 197, ECE 198, ECE 199. Beyond CSE/ECE electives, additional units of these courses can count toward the total degree units.
    • Undergraduate students may use CSE or ECE graduate-level courses toward 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 (EASy request) to enroll in a graduate course.
    • Only eight units of CSE or ECE electives or technical elective courses from departments outside of CSE or ECE may be used to fulfill major requirements.

Open Electives (eight units)

At most eight units of either lower- or upper-division CSE or ECE courses, which includes courses taken for a letter grade among courses CSE 3–199 and/or ECE 5–199.

Notes for Selecting and Scheduling Classes for BS Computer Engineering

(All courses must be taken for a letter grade unless they are offered P/NP only.)

  1. First Programming Course: CSE 11 is a faster-paced version of CSE 8A and CSE 8B. CSE 8B or CSE 11 must be taken before CSE 12.* Students may self-select which course they wish to take. Students without experience in programming in a compiled language are advised to take CSE 8A and then CSE 8B, instead of CSE 11.

For CE major requirements effective prior to fall 2024, click HERE.

 

I was a Computer Engineering major before fall 2023. Am I required to complete ECE 108?

No. You can replace ECE 108 with a CSE or ECE Elective. After you enroll in the replacement course, contact the ECE UG Advisors through the VAC and we can update your degree audit to reflect the substitution.

I switched my major to Computer Engineering in summer 2023. Am I required to complete ECE 108?

No. You can replace ECE 108 with a CSE or ECE Elective. If you applied to switch your major to Computer Engineering at the end of spring 2023 for the summer 2023 admissions cycle, you are not required to complete ECE 108. After you enroll in the replacement course, contact the ECE UG Advisors through the VAC and we can update your degree audit to reflect the substitution.

I switched my major to Computer Engineering in fall 2023, winter 2024, and spring 2024. Am I required to complete ECE 108?

Yes, you are required to complete ECE 108 as it is offered twice a year in fall and spring quarters. If you applied to switch your major to Computer Engineering at the end of summer 2023 for the fall 2023 admissions cycle, you are required to complete ECE 108 regardless of what year you entered UC San Diego. All other students who switched to the CE major in winter 2024 and spring 2024 are also required to complete ECE 108.

I am currently a CE major and I want to switch to the new FA24 curriculum. Am I required to complete ECE 108?

Yes, you are required to complete ECE 108.

I am a CE major who entered UC San Diego before FA24. How can I switch to the new curriculum?

Students interested in switching to the new CE curriculum must fill out their intent to change their degree audit on the link below:

Intent to Switch to the New FA24 CE Curriculum