Suggested course plans:
The BS Computer Engineering program is jointly administered by the Electrical and Computer Engineering (ECE) and the Computer Science and Engineering (CSE) Departments. Effective FA14, the CE major is capped for entering freshmen at the ECE Department. Please click here for more information regarding the capped major status.
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 136 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 freshman calculus in their first quarter. Courses in high school physics and computer programming, although helpful, are not required for admission to the program.
culus in their first quarter. Courses in high school physics and computer programming, although helpful, are not required for admission to the program.
All major requirements and technical electives, except 197, 198 or 199, must be taken for a letter grade. To graduate, a grade point average of 2.0 is required in the upper division major requirements including the technical electives.
(total of sixty-eight 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 freshman year; all others will take PHYS 2A in the winter quarter of the freshman 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 (twenty-four units)
CSE 11 or 8B,* 12, 15L, CSE 20 or MATH 15A, CSE 21 or MATH 15B, CSE 30, and CSE 91**.
*Students without any programming experience are advised to take CSE 8A, CSE 8AL, and then CSE 8B, CSE 8BL, 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.
** Lower division elective: minimum of two units chosen from: CSE 3, CSE 4GS, CSE 5A, CSE 6GS, CSE 7, CSE 8A, MAE 9, COGS 10, COGS 18, ECE 5, ECE 15, NANO 15,CENG 15, CSE 80, CSE 86, CSE 90, CSE 91, CSE 99, or any CSE upper-division course not used to fulfill other degree requirements. For Freshman only. Transfer students are not required to complete CSE 91.
Electrical Engineering (twelve units)
ECE 35, ECE 45, ECE 65
(total of sixty-eight units)
- All BS computer engineering students are required to take CSE 100 or MATH 176, CSE 101 or MATH 188, CSE 110, CSE 120, 140, 140L, 141, 141L.
- In addition, all BS computer engineering students must fulfill the following upper-division ECE requirements:
- Engineering Probability and Statistics: ECE 109. This course can be taken in the sophomore year.
- Electronic Circuits and Systems: ECE 108. The department recommends that this course be taken in the junior year.
- Linear Systems: ECE 101.
- Technical electives: All BS computer engineering students are required to take seven technical electives.
- One technical elective must be either ECE 111 or ECE 118.
- Of the remaining six technical electives, five must be ECE or CSE upper-division or graduate courses.
- The remaining course can be any computer science and engineering or electrical engineering upper-division or graduate course, or any other course listed under the section titled non-CSE/ECE electives. Other restrictions in the selection of technical electives are also given in the section “Electives.”
Notes for Selecting and Scheduling Classes for BS Computer Engineering
(All courses must be taken for a letter grade.)
- 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.
- CSE 11, and CSE 20/MATH 15A can be taken in the same quarter. Please obtain department approval for enrollment permission through the Enrollment Authorization System (EASy).
- Students must complete seven technical electives for a total of twenty-eight units. Five of the seven technical electives must be CSE or ECE upper-division courses.
All BS Computer Engineering students are required to take seven upper-division technical electives for a total of 28 units. You must take ECE 111 to meet your technical elective design requirement. The remaining six technical electives may be either CSE or ECE upper-division courses. You can also use an ECE or CSE graduate course for technical elective credit with approval. Once a CSE or ECE graduate course is used for an undergraduate degree that course may not be reused for a graduate degree. In addition, a maximum of 8 units of CSE 198 and/or 199 may be used toward technical elective credit.
The remaining technical elective course can be any ECE or CSE upper division or graduate course, or any other course listed under the general catalog section titled Electives. This section also lists other restrictions in the selection of technical electives. If you want to deviate from this list of approved electives, you must petition with an ECE Academic Advisor.
Please note: You will not receive credit for Math 183 as a technical elective credit after completing ECE 109. Effective Fall 2016, CE majors can enroll in ECE 197 but the course cannot be used to fulfill any major requirements.
NOTE: ALL COURSES USED TO SATISFY MAJOR REQUIREMENTS MUST BE TAKEN FOR A LETTER GRADE AND RECEIVE A GRADE OF C- OR BETTER.