Bachelor of Science in Computer Engineering Roadmap

129 Total Units Required
Minimum Number of Units in Major: 93

This roadmap is a suggested plan of study and does not replace meeting with an advisor. Please note that students may need to adjust the actual sequence of courses based on course availability. Please consult an advisor in your major program for further guidance.

Plan of Study Grid
First SemesterUnits
Select One (Major Core): 3-4
General Chemistry I
Chemistry for Energy and the Environment (B1, B3, ES)
ENG 114 Writing the First Year: Finding Your Voice (A2) 1 3
ENGR 100 Introduction to Engineering (Major Core) 2 3
ENGR 212 Introduction to Unix and Linux for Engineers (Major Core) 2
MATH 226 Calculus I (Major Core, B4) 3 4
Second Semester
ENGR 213 Introduction to C Programming for Engineers (Major Core) 4 3
ENGR 214 C Programming Laboratory (Major Core) 1
MATH 227 Calculus II (Major Core) 4
PHYS 220
PHYS 222
General Physics with Calculus I
and General Physics with Calculus I Laboratory (Major Core, B1, B3)
GE Area A: Oral Communication (A1) 5 3
GE Area C 3
Third Semester
ENGR 221 Data Structures and Algorithms in Python (Major Core) 4
MATH 228 Calculus III (Major Core) 4
PHYS 230
PHYS 232
General Physics with Calculus II
and General Physics with Calculus II Laboratory (Major Core)
GE Area B: Life Science (B2) 3
Fourth Semester
ENGR 205 Electric Circuits (Major Core) 4 3
ENGR 206 Circuits and Instrumentation Laboratory (Major Core) 1
ENGR 281 Probability and Statistics for Engineers (Major Core) 2
MATH 245 Elementary Differential Equations and Linear Algebra (Major Core) 3
GE Area C 3
GE Area D 3
Fifth Semester
ENGR 305 Linear Systems Analysis (Major Core) 3
ENGR 340 Programming Methodology for Engineers (Major Core) 4
ENGR 356 Digital Design (Major Core) 3
ENGR 357 Digital Design Laboratory (Major Core) 1
GE Area C 3
GE Area F ± 3
Sixth Semester
ENGR 354 Electronics for Computer Engineers (Major Core) 4
ENGR 378 Digital Systems Design (Major Core) 3
ENGR 413 Artificial Intelligence in Engineering (Major Core) 3
ENGR 478 Design with Microprocessors (Major Core) 6 4
ENGR 451 Digital Signal Processing (Major Core) 4
Seventh Semester
ENGR 456 Computer Systems (Major Core) 3
ENGR 476 Computer Communications Networks (Major Core) 3
ENGR 498 Advanced Design with Microcontrollers (Major Core) 4
ENGR 696 Engineering Design Project I (Major Core) 1
GE Area D 3
Eighth Semester
ENGR 697GW Engineering Design Project II - GWAR (Major Core) 2
Major Upper-Division Electives - Take Two 7 6
GE Area UD-C: Upper-Division Arts and/or Humanities 8 3
GE Area UD-D: Upper-Division Social Sciences 8 3
 Total Units126-127

ENG 114 can only be taken if you complete Directed Self-Placement (DSP) and select ENG 114; if you choose ENG 104/ENG 105 through DSP you will satisfy A2 upon successful completion of ENG 105 in the second semester; multilingual students may be advised into alternative English courses.


GE Area E (Lifelong Learning and Self-Development) is satisfied upon completing ENGR 100.



To determine the best B4 course option, students should complete the online advising activity at Questions? Contact Gator Smart Start.


GE Area A: Critical Thinking (A3) is satisfied upon completion of ENGR 205 and ENGR 201 or ENGR 213.


To avoid taking additional units, it is recommended that you meet the SF State Studies (AERM, GP, ES, SJ) requirements within your GE or major.


Upper-Division General Education, Physical and Life Sciences (UD-B) is satisfied upon completion of ENGR 478.


Major Electives (minimum 6 units)

Choice of upper-division electives must demonstrate a clearly identifiable educational objective and have an advisor’s approval. A study plan of intended upper-division electives must be approved by the student’s advisor and the program coordinator prior to registering for ENGR 696.

A minimum of 6 units from the following list of courses is required. Students with a GPA of 3.0 or better and the required prerequisites may take graduate courses (numbered 800 and above) with the approval of their advisor or the program coordinator.

CSC 415 Operating System Principles (3 units)
CSC 510 Analysis of Algorithms I (3 units) 
CSC 645 Computer Networks (3 units)
CSC 648 Software Engineering (3 units)
CSC 652 Introduction to Security and Data Privacy (3 units)
CSC 667 Internet Application Design and Development (3 units)
CSC 668 Advanced Object Oriented Software Design and Development (3 units)
ENGR 415 Mechatronics (4 units)
ENGR 442 Operational Amplifier Systems Design (3 units)
ENGR 446 Control Systems Laboratory (1 units)
ENGR 447 Control Systems (3 units)
ENGR 449 Communication Systems (3 units)
ENGR 453 Digital Integrated Circuit Design (4 units)
ENGR 492 Hardware for Machine Learning (3 units)
ENGR 844 Embedded Systems (3 units)
ENGR 845 Neural-Machine Interfaces: Design and Applications (3 units)
ENGR 848 Digital VLSI Design (3 units)
ENGR 849 Advanced Analog IC Design (3 units)
ENGR 850 Digital Design Verification (3 units)
ENGR 851 Advanced Microprocessor Architectures (3 units)
ENGR 852 Advanced Digital Design (3 units)
ENGR 853 Advanced Topics in Computer Communication and Networks (3 units)
ENGR 856 Nanoscale Circuits and Systems (3 units)
ENGR 858 Hardware Security and Trust (3 units)
ENGR 859 On-Device Machine Learning (3 units)
ENGR 868 Advanced Control Systems (3 units)
ENGR 869 Robotics (3 units)
ENGR 870 Robot Control (3 units)
ENGR 871 Advanced Electrical Power Systems (3 units)
ENGR 890 Static Timing Analysis for Nanometer Designs (3 units)


To avoid taking additional units, it is recommended that you meet U.S. and California Government (USG/CSLG) within Upper-Division GE.


Given catalog rights, fall 2023 transfer students do not need to complete an Area F course.