BS Computer Engineering Program
This page updated February 27, 2014.
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.
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.
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.
Recommended high school preparation includes mathematics courses so that students can take freshman calculus in their first quarter. Courses in high school physics and computer programming are helpful preparation, but not required.
The BS computer engineering program requires a total of 136 units (not including the general-education requirements).
Our Long-Term Plans are designed for students with no advanced placement credit. Some students will begin with CSE 3, CSE 8A/L or CSE 11, therefore, it is imperative that each student draw up a suitable schedule based on her/his specific circumstances. Please read CSE Course Placement Advice to figure out which coures to take first. To assist you with planning your schedule, consult our Courses page.
*Effective Fall 2014, CSE 8A + CSE 8AL will combine to, CSE 8A
**Effective Fall 2014, CSE 91 will be replaced by the lower division elective requirement (see below).
CSE 8A and 8AL*
CSE 8B (if you completed CSE 8A/8AL)
CSE 12/15L (if you completed CSE 8B)
CSE 30 (if you completed 12/15L)
Students are expected to complete the following 68 units by the end of their sophomore year.
a) Computer Science and Engineering: CSE 8B or CSE 11, CSE 12, CSE 15L, CSE 20 or Math 15A, CSE 21 or
Math 15B, and CSE 30 (24 units)
b) Computer Science and Engineering 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, or any
CSE upper-division course not used to fulfill other degree requirements.
c) Mathematics. Math 20A, Math 20B, Math 20C, Math 20D, and Math 20F (20 units)
d) Physics: Phys 2A, Phys 2B, Phys 2C; twelve units. 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 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.
e) Electrical Engineering: ECE 35, ECE 45, and ECE 65 (12 units)
Students must complete 68 upper-division units: 28 units of CSE Core courses, 12 units of ECE Core courses, and 28 units of Elective courses.
1. Core CSE courses: CSE 100 or Math 176, CSE 101 or Math 188, CSE 110, CSE 120, 140, 140L, 141, and 141L
2. Core ECE Courses: ECE 101 and ECE 109 (12 units)
3. Electives: Seven courses (28 units) must be completed.
· One elective must be either ECE 111 or ECE 118 (4 units)
· Minimum of five courses (20 units) chosen from ECE or CSE upper-division or graduate courses.
· A maximum of eight units of CSE 198, CSE 199, or CSE 199H may be used.
· A maximum of four units of CSE 197 may be used.
· CSE 195 may not be used.
· A maximum of four units of non-CSE courses, referred to as technical electives on the student’s degree audit. Please see an approved list of Technical Electives. Students may petition for other courses not on the list
Notes for Selecting and Scheduling Classes for BS Computer Engineering
1. All courses must be taken for a letter grade, unless they are offered P/NP only
2. See the CSE website for a sample four-year plan of study.
3. Students should read “CSE Course Placement Advice” for assistance in determining which CSE course to
take first, CSE 3A, CSE 8A, CSE 8B or CSE 11.
4. Effective Fall 2014, CSE 8A (3 units) and 8AL (1 unit) were combined into one course, CSE 8A (4 units).
5. Computer Science Advanced Placement Credit: A Exam (Java Programming) two units. Score of 4 exempts
CSE 8A; students should take CSE 11.
6. CSE 8B or CSE 11 may be taken concurrently with CSE 20/Math 15A. Please obtain department approval for
enrollment permission for CSE 20/Math 15A at firstname.lastname@example.org.
7. CSE 15L must be taken concurrently with CSE 12.
8. CSE 140 must be taken concurrently with CSE 140L.
9. CSE 141 must be taken concurrently with CSE 141L.
- ECE 108 will be offered for a final time during Spring Quarter 2014. Student's who have not yet taken ECE 108, should plan to take it during Spring Quarter 2014.
- All major requirements and upper-division electives, except CSE 91, CSE 197, CSE 198 or CSE 199, must be taken for a letter grade.
- To graduate, a miniumum grade-point average of 2.0 will be required in upper-division coruses in the major, including upper-division electives.
- Students must satisfy the general enducation course requirements of their college.
CSE Adacademic Advising
The CSE Department has three major academic advisors to assist students. Contact advisors via the Virtual Advising Center or call 858-534-8872 or visit the CSE Building (EBU3B), room 1231.
Tracking your progress
- Academic Planning Sheet (Quarterly Plan) pdf
- Academic Tracking Sheet (Quarterly Plan) excel spreadsheet
- BS Computer Engineering Checklist pdf