Bachelor of Science in Computer Engineering
Undergraduate Programs in Engineering
Freshman applicants should have completed four years of high school mathematics, one year of high school chemistry, and one year of high school physics. Students are also encouraged to include courses in mechanical drawing and computer programming.
Community college transfers should complete the sequence of mathematics, chemistry, physics, and engineering courses listed in freshman and sophomore years under the “sample sequence of courses” at the community college.
The Bachelors of Science in Civil, Computer, Electrical, and Mechanical Engineering require 127, 128, 129, and 129-semester units, respectively. A minimum of 30 units must be earned in residence at San Francisco State University. Of these units, 24 must be upper-division courses, and 12 of these upper-division units must be in the major. Major requirements, including mathematics, chemistry, and physics prerequisites, comprise 93 units for Civil Engineering, 94 for Computer Engineering, 95 for Electrical Engineering, and 95 units for Mechanical Engineering. For Civil Engineering, 50 of the required units are lower-division and 43 units are upper-division. For Mechanical Engineering, 51 of the required units are lower-division and 44 units are upper-division. For Electrical engineering, 50 of the required units are lower-division and 45 units are upper-division. For Computer Engineering, 49 of the required units are lower-division and 45 units are upper-division. The remaining 33 units satisfy the balance of the university requirements including communication skills and General Education in humanities and social sciences. Students are advised that, except for some general education (GE) courses, all courses which are to be counted toward completion of an engineering degree must be taken for a letter grade; the CR/NC option may not be used in this context.
Computer engineering is a multidisciplinary field with roots in electrical engineering and computer science that has grown to become a separate discipline in itself. Graduates of the Computer Engineering program are expected to have, within a few years of graduation:
- Established themselves as practicing professionals or engaged in graduate study in computer engineering or a related field.
- Demonstrated an ability to be productive and responsible professionals.
The first two years of the program are designed to build a strong background in mathematics and science to provide a basis for understanding the underlying analysis and modeling tools and physical principles that are common to all engineering. The last two years cover a rich set of hardware and software subjects to give students a broad background in computer engineering. This broad foundation enables students to adapt and extend their knowledge and skills more easily in the future. The curriculum also stresses problem-solving skills and teamwork. Through electives, students can choose to develop further breadth or in-depth knowledge in one of three areas: embedded systems, network systems, or multimedia systems.
The number of units required for graduation and the GE requirements are described in the Undergraduate Education section of this Bulletin. For information for all engineering students, see Undergraduate Programs in Engineering above.
A number of required and elective lecture courses in the Computer Engineering program have corresponding laboratory courses that students are either required or strongly encouraged to take concurrently. These course pairs are:
& ENGR 206
and Circuits and Instrumentation Laboratory
& ENGR 301
and Microelectronics Laboratory
& ENGR 357
and Digital Design Laboratory
& ENGR 446
and Control Systems Laboratory
Students who drop or withdraw from any of these lecture courses must also drop or withdraw from the corresponding laboratory course, or they will be administratively dropped or withdrawn.
Students must complete 21 units of upper-division engineering units before registering for ENGR 696.
Courses are scheduled during the day as well as in the late afternoon and evening. Other information and assistance in selecting courses can be obtained from a major advisor in the School of Engineering, by calling (415) 338-1174, by emailing email@example.com, or by writing to:
School of Engineering
San Francisco State University
1600 Holloway Avenue
San Francisco, CA 94132
Program Learning Outcomes
Upon completion of the Bachelor of Science in Computer Engineering a student will be able to demonstrate:
- an ability to identify, formulate, and solve complex engineering problems by applying principles of engineering, science, and mathematics.
- an ability to apply engineering design to produce solutions that meet specified needs with consideration of public health, safety, and welfare, as well as global, cultural, social, environmental, and economic factors.
- an ability to communicate effectively with a range of audiences.
- an ability to recognize ethical and professional responsibilities in engineering situations and make informed judgments, which must consider the impact of engineering solutions in global, economic, environmental, and societal contexts.
- an ability to function effectively on a team whose members together provide leadership, create a collaborative and inclusive environment, establish goals, plan tasks, and meet objectives.
- an ability to develop and conduct appropriate experimentation, analyze and interpret data, and use engineering judgment to draw conclusions.
- an ability to acquire and apply new knowledge as needed, using appropriate learning strategies.
Computer Engineering (B.S.) — 93 units minimum
All courses for the major must be completed with a letter grade.
General Education Requirements Met in the Major
The requirements below are deemed “met in the major” upon completion of the courses listed (even though the courses and their prerequisites are not approved for GE). This is true whether or not the student completes the major.
- Area A3 (Critical Thinking) is satisfied upon completion of ENGR 205 and either ENGR 201 or ENGR 213.
- Area E (Lifelong Learning and Self-Development) is satisfied upon completing ENGR 100.
Math and Science Lower-Division Courses (26-28 units)
|General Chemistry I: Essential Concepts of Chemistry|
|Chemistry for Energy and the Environment|
|MATH 226||Calculus I||4|
|MATH 227||Calculus II||4|
|MATH 228||Calculus III||4|
|MATH 245||Elementary Differential Equations and Linear Algebra||3|
& PHYS 222
|General Physics with Calculus I|
and General Physics with Calculus I Laboratory
& PHYS 232
|General Physics with Calculus II|
and General Physics with Calculus II Laboratory
Lower-Division Computer Engineering Courses (19 units)
|ENGR 100||Introduction to Engineering||3|
|ENGR 205||Electric Circuits||3|
|ENGR 206||Circuits and Instrumentation Laboratory||1|
|ENGR 212||Introduction to Unix and Linux for Engineers||2|
|ENGR 213||Introduction to C Programming for Engineers||3|
|ENGR 214||C Programming Laboratory||1|
|ENGR 221||Data Structures and Algorithms in Python||4|
|ENGR 281||Probability and Statistics for Engineers||2|
Upper-Division Computer Engineering Courses (42 units)
|ENGR 305||Linear Systems Analysis||3|
|ENGR 340||Programming Methodology for Engineers||4|
|ENGR 354||Electronics for Computer Engineers||4|
|ENGR 356||Digital Design||3|
|ENGR 357||Digital Design Laboratory||1|
|ENGR 378||Digital Systems Design||3|
|ENGR 451||Digital Signal Processing||4|
|ENGR 456||Computer Systems||3|
|ENGR 476||Computer Communications Networks||3|
|ENGR 478||Design with Microprocessors||4|
|ENGR 498||Advanced Design with Microcontrollers||4|
|ENGR 696||Engineering Design Project I||1|
|ENGR 697GW||Engineering Design Project II - GWAR||2|
Upper-Division Electives (6 units minimum)
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|
|CSC 510||Analysis of Algorithms I||3|
|CSC 645||Computer Networks||3|
|CSC 648||Software Engineering||3|
|CSC 652||Introduction to Security and Data Privacy||3|
|CSC 667||Internet Application Design and Development||3|
|CSC 668||Advanced Object Oriented Software Design and Development||3|
|ENGR 442||Operational Amplifier Systems Design||3|
|ENGR 446||Control Systems Laboratory||1|
|ENGR 447||Control Systems||3|
|ENGR 449||Communication Systems||3|
|ENGR 453||Digital Integrated Circuit Design||4|
|ENGR 491||Real-time Digital Signal Processing||3|
|ENGR 492||Hardware for Machine Learning||3|
|ENGR 844||Embedded Systems||3|
|ENGR 845||Neural-Machine Interfaces: Design and Applications||3|
|ENGR 848||Digital VLSI Design||3|
|ENGR 849||Advanced Analog IC Design||3|
|ENGR 850||Digital Design Verification||3|
|ENGR 851||Advanced Microprocessor Architectures||3|
|ENGR 852||Advanced Digital Design||3|
|ENGR 853||Advanced Topics in Computer Communication and Networks||3|
|ENGR 854||Wireless Data Communication Standards||3|
|ENGR 855||Advanced Wireless Communication Technologies||3|
|ENGR 856||Nanoscale Circuits and Systems||3|
|ENGR 858||Hardware Security and Trust||3|
|ENGR 859||On-Device Machine Learning||3|
|ENGR 868||Advanced Control Systems||3|
|ENGR 870||Robot Control||3|
|ENGR 871||Advanced Electrical Power Systems||3|
|ENGR 890||Static Timing Analysis for Nanometer Designs||3|
General Education Requirements
|Requirement||Course Level||Units||Area Designation|
|Written English Communication||LD||3||A2|
|Arts or Humanities||LD||3||C1 or C2|
|Social Sciences: US History||LD||3||D2|
|Lifelong Learning and Self-Development (LLD)||LD||3||E|
|Physical and/or Life Science||UD||3||UD-B|
|Arts and/or Humanities||UD||3||UD-C|
|SF State Studies|
|Courses certified as meeting the SF State Studies requirements may be upper or lower division in General Education (GE), a major or minor, or an elective.|
|American Ethnic and Racial Minorities||LD or UD||3||AERM|
|Environmental Sustainability||LD or UD||3||ES|
|Global Perspectives||LD or UD||3||GP|
|Social Justice||LD or UD||3||SJ|
Note: LD = Lower-Division; UD = Upper-Division.
First-Time Student Roadmap (4 Year)
- The roadmaps presented in this Bulletin are intended as suggested plans of study and do not replace meeting with an advisor. For a more personalized roadmap, please use the Degree Planner tool found in your Student Center.
- In order to choose your English Composition A2 course and your QR/Math B4 course, please complete the online advising activities at writingadvising.sfsu.edu and mathadvising.sfsu.edu. Questions? Contact Gator Smart Start.
SF State Scholars
The San Francisco State Scholars program provides undergraduate students with an accelerated pathway to a graduate degree. Students in this program pursue a bachelor’s and master’s degree simultaneously. This program allows students to earn graduate credit while in their junior and/or senior year, reducing the number of semesters required for completion of a master’s degree.
General Advising Information for Transfer Students
- Before transfer, complete as many lower-division requirements or electives for this major as possible.
- The following courses are not required for admission but are required for graduation. Students are strongly encouraged to complete these units before transfer; doing so will provide more flexibility in course selection after transfer.
- a course in U.S. History
- a course in U.S. & California Government
For information about satisfying the requirements described in (1) and (2) above at a California Community College (CCC), please visit http://www.assist.org. Check any geographically accessible CCCs; sometimes options include more than one college. Use ASSIST to determine:
- Which courses at a CCC satisfy any lower-division major requirements for this major;
- Which courses at a CCC satisfy CSU GE, US History, and US & CA Government requirements.
Remedial courses are not transferable and do not apply to the minimum 60 semester units/90 quarter units required for admission.
Additional units for courses that are repeated do not apply to the minimum 60 units required for upper-division transfer (for example, if a course was not passed on the first attempt or was taken to earn a better grade).
Before leaving the last California Community College of attendance, obtain a summary of completion of lower-division General Education units (IGETC or CSU GE Breadth). This is often referred to as a GE certification worksheet. SF State does not require delivery of this certification to Admissions, but students should retain this document for verifying degree progress after transfer.
Credit for Advanced Placement, International Baccalaureate, or College-Level Examination Program courses: AP/IB/CLEP credit is not automatically transferred from the previous institution. Units are transferred only when an official score report is delivered to SF State. Credit is based on the academic year during which exams were taken. Refer to the University Bulletin in effect during the year of AP/IB/CLEP examination(s) for details regarding the award of credit for AP/IB/CLEP.
Students pursuing majors in science, technology, engineering, and mathematics (STEM) disciplines often defer 6-9 units of lower-division General Education in Areas C and D until after transfer to focus on preparation courses for the major. This advice does not apply to students pursuing associate degree completion before transfer.
Transferring From Institutions Other Than CCCs or CSUs
Review SF State's lower-division General Education requirements. Note that, as described below, the four basic skills courses required for admission meet A1, A2, A3, and B4 in the SF State GE pattern. Courses that fulfill the remaining areas of SF State’s lower-division GE pattern are available at most two-year and four-year colleges and universities.
Of the four required basic skills courses, a course in critical thinking (A3) may not be widely offered outside the CCC and CSU systems. Students should attempt to identify and take an appropriate course no later than the term of application to the CSU. To review more information about the A3 requirement, please visit bulletin.sfsu.edu/undergraduate-education/general-education/lower-division/#AAEL.
Waiting until after transfer to take a single course at SF State that meets both US and CA/local government requirements may be an appropriate option, particularly if transferring from outside of California.