Primary links

CE Major

BS Computer Engineering Program

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 impacted major status.

The computer engineering lower division requirements are 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. The program encompasses the study of hardware design, data storage, computer architecture, assembly languages, and the design of computers for engineering, information retrieval, and scientific research. Many graduates in this degree program go on to graduate school or choose careers that involve the design of computer hardware and software systems in diverse areas such as: computer graphics, computer-aided design, multimedia systems, databases, parallel computation, distributed computation, artificial intelligence, optical computing, very-large-scale-integration design, and fabrication.

Students should have sufficient background in high school mathematics so that they can take calculus 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.


Effective Fall 2011, the BS Computer Engineering program requires completion of a total of 136 units. The following sections on lower division, upper division and technical elective courses complete the requirements.

Lower Division

Students are expected to complete the following courses by the end of their sophomore year.

  • Computer Science and Engineering: CSE 8B or CSE 11, CSE 12, CSE 15L, CSE 20, CSE 21, CSE 30 and CSE 91. Effective FA14, CSE 91 is replaced by a lower division elective* (24 units)
  • Mathematics: Math 20A, 20B, 20C, 20D, and 18 (formerly known as 20F) (20 units)
  • Physics: Physics 2A, 2B, 2C (12 units)
    Math 20A is a prerequisite for Physics 2A. Students whose performance on the Department of Mathematics placement test permits them to start with Math 20B or a higher course may take Physics 2A in the fall quarter of the freshman year; all others will take Physics 2A in the winter quarter of the freshman year. Students who received high grades in both calculus and physics in high school may substitute the major's sequence, Physics 4A, 4B, 4C, 4E, for Physics 2A, 2B, 2C, 2D.
  • Introduction to Electrical Engineering: ECE 35, ECE 45 and ECE 65 (12 units)
    These three courses give a comprehensive introduction to electrical engineering.
  • Probability and Statistics: ECE 109 (4 units)

*Lower division elective: minimum of two units chosen from: CSE 3, CSE 4GS, CSE 5A, CSE 6GS, CSE 7, CSE 8A, CSE 80, CSE 86, CSE 90, CSE 91, CSE 99, ECE 15, ECE 25 or any CSE upper-division course not used to fulfill other degree requirements.

Summary of Lower Division Major Requirements

Area Courses Units
CSE CSE 8B or CSE 11, CSE 12, CSE 15L, CSE 20, CSE 21, CSE 30 and CSE 91 or lower division elective 24
ECE ECE 35, ECE 45 and ECE 65 12
Math Math 20A, 20B, 20C, 20D, 18 (formerly known as 20F), and ECE 109 24
Physics Physics 2A, 2B, 2C 12
Total Units 72

Upper Division

All BS Computer Engineering students are required to take CSE 100, CSE 101, CSE 110, CSE 120, CSE 140, CSE 140L, CSE 141, and CSE 141L; 28 units. If students want to accelerate their program, they should consider taking CSE 100, CSE 110 and/or CSE 140 and CSE 140L in the sophomore year.

In addition, all BS Computer Engineering students have to fulfill the following upper division ECE requirements:

  • Linear Systems: ECE 101 (4 units)
  • Electronic Circuits and Systems: ECE 108 - This course has been discontinued but MUST be replaced by an upper division CSE or ECE course (4 units)

Summary of Upper Division Major Requirements

Area Courses Units
Data Structures CSE 100, CSE 110 8
Hardware CSE 140, CSE 140L, CSE 141, CSE 141L 12
Computer Systems CSE 120 4
Algorithms and Theory CSE 101 4
Linear Systems ECE 101 4
Electronic Circuits ECE 108 This course has been discontinued but MUST be replaced by an upper division CSE or ECE course 4
Required TE ECE 111 or 118 4
Technical Electives 6 courses 24
Total Units  


Technical Electives

All BS Computer Engineering students are required to take seven upper division technical electives for a total of 28 units. You must take either ECE 111 or ECE 118 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 a 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 4 units of CSE 197 and 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 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.


For course plans, please click here.