The mission of the Computer Engineering Program (CPE) is to provide students with a well-rounded education encompassing the theory and practice of selected, balanced topics in electrical engineering and computer science, to enable students to contribute and continue their education in a wide range of computer-related engineering careers. The program seeks to emphasize “hands-on” experience, problem solving skills, the creative process and responsible action. Through professional development activities, faculty contribute to the advancement of the state-of-the-art, and strive to directly incorporate this experience in the classroom.
 Four educational objectives inspire alumni of the Cal Poly Computer Engineering program to excel professionally:
  	- Make positive contributions to society and the practice of computer engineering by applying foundational knowledge and the engineering process to solve engineering problems.
  	- Work in an individual or team environment in a socially responsible manner.
  	- Engage in lifelong learning through continued professional development or graduate studies.
  	- Communicate effectively and demonstrate leadership.
  
 The program prepares graduates for professional practice in industry, as well as continued study in graduate school. Cal Poly’s “learn by doing” philosophy is emphasized by integrating design throughout the curriculum, especially in the numerous design-centered laboratories. In the required senior capstone experience, which is a group-project based course completed over two quarters, students demonstrate their understanding of engineering knowledge and their ability to apply that knowledge creatively to practical problems.
 This integrated approach allows students to work effectively in such diverse areas as digital systems simulation and digital control systems. Knowledge and laboratory experience in computer architecture and structures provide the understanding necessary to design and build computer systems, computer networks and digital communications systems. A thorough knowledge of modern microprocessors and microcontrollers enables the graduate to apply these techonolgies in applications such as robotics, medical and data acquisition. Twelve units of technical electives allow students the option to specialize in an area of special interest. Current areas of special interest include:
  	- robotics
  	- embedded systems
  	- computer architecture
  	- computer systems
  	- Computer security
  	- electronics implementation and VLSI
  
 In addition to a sound theoretical background in computer engineering concepts, students experience practical design courses intended to build problem solving skills. Laboratory courses supplement the program to develop “hands on” skills in all areas of study. Students are exposed to a wide variety of computing equipment: microprocessor development systems, workstations and personal computers, and advanced network hardware and software.
 Active student groups of interest to computer engineering majors include the Computer Engineering Society, the IEEE Student Branch, the Association for Computing Machinery, the Society of Women Engineers, Women Involved in Software and Hardware, and many other project-oriented student clubs and activities.
 For more information about the CPE program, please visit https://eadvise.calpoly.edu.
Concentrations
General Curriculum in Computer Engineering
Offered at: San Luis Obispo Campus
 The Bachelor of Science in Computer Engineering broadly prepares students for the design and application of computers and computer-based systems. Students learn to integrate a variety of skills, knowledge, and expertise at the intersection of hardware and software, general education, ethics, and society. Curricular concentrations provide students with autonomy to specialize in the computer engineering core, security, computer hardware, computer architecture, computer systems, embedded systems, or robotics and autonomous systems. Our graduates are valued for their diversity in body and voice, their ability to negotiate complexity and ambiguity, and their capacity and agency to make a positive impact on society. 
Computer Architecture
Offered at: San Luis Obispo Campus
 This concentration prepares students for success in technical careers in computer architecture, including emerging architectures. Students will take a breadth of relevant courses developing their skills in hardware and software design. 
Computer Hardware Engineering
Offered at: San Luis Obispo Campus
 The Computer Hardware Engineering Concentration prepares students for success in technical careers in designing and implementing computer hardware. Students will take a breadth of relevant courses developing their skills in design and engineering. 
Computer Systems
Offered at: San Luis Obispo Campus
 The computer systems concentration prepares students for success in technical careers in computer systems including designing and building distributed computer systems. Evaluate computer architecture designs with particular emphasis on the balance between performance, efficiency, cost, reliability, and security. Students will take a breadth of relevant courses developing their skills in hardware and software design. 
Embedded Systems
Offered at: San Luis Obispo Campus
 The embedded systems concentration prepares students for success in technical careers in embedded systems integrating hardware and systems in increasingly common embedded systems. Students will take a breadth of relevant courses developing their skills in hardware and software integration. 
Robotics and Autonomous Systems
 Offered at: San Luis Obispo Campus
 The Robotic Engineering Concentration prepares students for success in technical careers in designing and implementing robots and autonomous systems. Students will take a breadth of relevant courses developing their skills in design and engineering. 
  
Security
Offered at: San Luis Obispo Campus
 The Privacy and Security concentration prepares students for success in technical careers in cybersecurity. Students will take a breadth of relevant courses developing their skills in hardware and software design. 
 
			
				Program Learning Objectives
 - 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 in 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.
  
In addition to the general abilities expected of College of Engineering graduates, computer engineering students are expected to graduate with:
	- Knowledge of probability and statistics, including applications appropriate to CPE program objectives.
 
	- Knowledge of mathematics through differential and integral calculus, basic sciences, and engineering sciences necessary to analyze and design complex electrical and electronic devices, software, and systems containing hardware and software components, as appropriate to CPE program objectives.
 
	- Knowledge of advanced mathematics, typically including differential equations, linear algebra, complex variables, and discrete mathematics.
 
			 
			
				Degree Requirements and Curriculum
 In addition to the program requirements listed on this page, students must also satisfy requirements outlined in more detail in the Minimum Requirements for Graduation section of this catalog, including:
  	- 40 units of upper-division courses
  	- 2.0 GPA
  	- Graduation Writing Requirement (GWR)
  	- U.S. Cultural Pluralism (USCP)
  
 Note: No Major or Support courses may be selected as credit/no credit. In addition, no more than 12 units of cooperative or internship courses can count towards your degree requirements.
  Course List        | Code |  Title |  Units |  
    | CPE/CSC 1000 | Computing Majors Orientation | 1 | 
 CSC 1001 & 1001L | Fundamentals of Computer Science and Fundamentals of Computer Science Laboratory | 4 | 
 | CPE/CSC 1024 | Introduction to Computing | 2 | 
 CSC 2001 & 2001L | Data Structures and Data Structures Laboratory | 4 | 
 | CPE/CSC 2050 | System Software Mechanics | 3 | 
 | CPE 2300 | Introduction to Computer Systems | 3 | 
 | CPE 2301 | Introduction to HDL and Digital Design Laboratory | 1 | 
 | CPE 3160 | Microcontrollers and Embedded Applications | 3 | 
 | CPE/CSC 3201 | Introduction to Computer Security | 3 | 
 | CPE 3300 | Computer Architecture | 4 | 
 | CPE 4464 | Introduction to Computer Networks | 3 | 
 | CPE/CSC 4553 | Introduction to Operating Systems | 3 | 
 EE 2211 & EE 2241 | Electric Circuit Analysis I and Electric Circuit Analysis Laboratory I | 4 | 
  |  1 | 27-30 | 
  |  2 | 3-4 | 
  | General Biology |  | 
  | Life Science for Engineers |  | 
  | General Botany |  | 
  | Introduction to Microbiology |  | 
 | MATH 1261 | Calculus I (2) 2 | 4 | 
 | MATH 1262 | Calculus II | 4 | 
 | MATH 2031 | Transition to Advanced Mathematics | 3 | 
 | PHIL 3323 | Ethics, Science, and Technology (Upper-Division 3) 2 | 3 | 
 | PHYS 1141 | General Physics I (5A & 5C) 2 | 4 | 
 | PHYS 1143 | General Physics II | 4 | 
 |  2 | 3 | 
  | Engineering Statistics |  | 
  | Probability and Random Processes for Engineers |  | 
 | WGQS 3350 | Gender, Race, Culture, Science, and Technology | 4 | 
 | or WGQS 3351 |  Gender, Race, Class, Nation: Critical Computing and Engineering Studies | 
   | 27 | 
   | 0 | 
 | Total Units | 124-128 | 
 
  
Concentrations
General Curriculum in Computer Engineering
 Course List        | Code |  Title |  Units |  
    |  1 | 3 | 
  | Linear Algebra |  | 
  | Linear Analysis |  | 
  |  | 
 |  1 | 3 | 
 EE 3306 & 3306L | Electronics I and Electronics Laboratory I | 4 | 
 | or EE 2328 |  Signals and Systems | 
  |  | 
 |  2 | 14 | 
  |  | 
  |  | 
  |  | 
 |  3 | 4 | 
  | Capstone Senior Project I and Capstone Senior Project II |  | 
  | Interdisciplinary Privacy and Security Capstone I and Senior Project - Privacy and Security Capstone II |  | 
  | Interdisciplinary Senior Project I and Interdisciplinary Senior Project II |  | 
 | Total Units | 28 | 
 
  
Computer Architecture
 Course List        | Code |  Title |  Units |  
    | MATH 1151 | Linear Algebra | 3-4 | 
 | or MATH 2341 |  Linear Analysis | 
 | MATH 2263 | Calculus III | 3 | 
 | PHYS 2211 | General Physics III: Modern Physics | 4 | 
  | 3-4 | 
  | Quantum Computing |  | 
  | Introduction to Hardware Security |  | 
  | Design of Fault-Tolerant Systems |  | 
  | Distributed Systems |  | 
  | Compiler Construction |  | 
 EE 3306 & 3306L | Electronics I and Electronics Laboratory I | 4 | 
 | CPE 4300 | Advanced Computer Architecture | 4 | 
  |  | 
  | 6 | 
  | Interdisciplinary Privacy and Security Capstone I and Senior Project - Privacy and Security Capstone II |  | 
  | Capstone Senior Project I and Capstone Senior Project II |  | 
 | Total Units | 27-29 | 
 
Computer Hardware Engineering
 Course List        | Code |  Title |  Units |  
    EE 3306 & 3306L | Electronics I and Electronics Laboratory I | 4 | 
 | EE 4431 | Computer-Aided Design of VLSI Devices | 3 | 
  |  | 
 |  1 | 6 | 
  | Linear Algebra and Differential Equations |  | 
  | Linear Analysis |  | 
  1  |  | 
  |  | 
 |  2, 3 | 12 | 
  | Introduction to Hardware Security |  | 
  | Special Problems for Undergraduates |  | 
  | Design of Fault-Tolerant Systems |  | 
  | Seminar in Computer Engineering |  | 
  | Research Experience in Computer Engineering |  | 
  | Projects in Computer Engineering |  | 
  | Electric Circuit Analysis II |  | 
  | Signals and Systems |  | 
  | Classical Control Systems and Classical Control Systems Laboratory |  | 
  | Electronics II and Electronics Laboratory II |  | 
  | Electromagnetic Fields and Transmission and Electromagnetic Fields and Transmission Laboratory |  | 
  | Advanced Analog and Mixed-Signal Electronics |  | 
  | Advanced Analog and Mixed-Signal Electronics Laboratory |  | 
  | Digital Image Processing |  | 
  | Vertically Integrated Project Experience I |  | 
  | Vertically Integrated Project Experience II |  | 
  | Vertically Integrated Project Experience III |  | 
  | Introduction to Modern Electronics Manufacturing |  | 
  | Principles of Materials Engineering for Non-Majors |  | 
  | Electronic Materials Systems |  | 
  | General Physics III: Modern Physics |  | 
  | Solid State Physics |  | 
  |  | 
 |  4 | 4 | 
  | Capstone Senior Project I and Capstone Senior Project II |  | 
  | Interdisciplinary Privacy and Security Capstone I and Senior Project - Privacy and Security Capstone II |  | 
  | Interdisciplinary Senior Project I and Interdisciplinary Senior Project II |  | 
 | Total Units | 29 | 
 
  
Computer Systems
 Course List        | Code |  Title |  Units |  
    | MATH 1151 | Linear Algebra | 3-4 | 
 | or MATH 2341 |  Linear Analysis | 
  |  | 
  | 3 | 
 EE 3306 & 3306L | Electronics I and Electronics Laboratory I | 4 | 
 | or EE 2328 |  Signals and Systems | 
  | 3 | 
  | Binary Exploitation: Tools and Techniques |  | 
  | Network Security |  | 
  | Introduction to Hardware Security |  | 
  | 3-4 | 
  | Compiler Construction |  | 
  | Implementation of Operating Systems |  | 
  | Advanced Computer Networks |  | 
 | CPE 4650 | Scalable Server Implementation and Testing | 3 | 
 | CPE 4669 | Distributed Systems | 4 | 
  |  | 
  | 6 | 
  | Capstone Senior Project I and Capstone Senior Project II |  | 
  | Interdisciplinary Privacy and Security Capstone I and Senior Project - Privacy and Security Capstone II |  | 
 | Total Units | 29-30 | 
 
Embedded Systems
 Course List        | Code |  Title |  Units |  
     |  | 
  | 6 | 
  | Linear Algebra and Differential Equations |  | 
  | Linear Analysis |  | 
  |  | 
 | EE 2328 | Signals and Systems | 4 | 
 | CPE 4180 | Advanced Microcontrollers and Embedded Applications | 3 | 
 | CPE 4390 | Introduction to Real-Time Operating Systems | 3 | 
 | CPE 4420 | High-Performance Embedded Systems | 3 | 
 | CPE 4455 | Design of Fault-Tolerant Systems | 4 | 
  |  | 
  | 4-6 | 
  | Capstone Senior Project I and Capstone Senior Project II |  | 
  | Interdisciplinary Privacy and Security Capstone I and Senior Project - Privacy and Security Capstone II |  | 
  | Interdisciplinary Senior Project I and Interdisciplinary Senior Project II |  | 
 | Total Units | 27-29 | 
 
Robotics and Autonomous Systems
 Course List        | Code |  Title |  Units |  
    | EE 2328 | Signals and Systems | 4 | 
 | ENGR 2211 | Introduction to Mechanics | 4 | 
 | MATH 2341 | Linear Analysis | 4 | 
 | ME 2212 | Engineering Dynamics | 3 | 
  |  | 
 |  1, 2 | 11 | 
  | Biomechanics |  | 
  | Robotic Systems Integration |  | 
  | Autonomous Mobile Robotics |  | 
  | Advanced Microcontrollers and Embedded Applications |  | 
  | Introduction to Hardware Security |  | 
  | Introduction to Real-Time Operating Systems |  | 
  | High-Performance Embedded Systems |  | 
  | Design of Fault-Tolerant Systems |  | 
  | Seminar in Computer Engineering |  | 
  | Research Experience in Computer Engineering |  | 
  | Projects in Computer Engineering |  | 
  | Seminars in Privacy and Security |  | 
  | Research Experience in Privacy and Security |  | 
  | Projects in Privacy and Security |  | 
  | Computer Vision |  | 
  | Classical Control Systems and Classical Control Systems Laboratory |  | 
  | Digital Signal Processing |  | 
  | Digital Image Processing |  | 
  | Sensing Systems and the Industrial Internet of Things |  | 
  | Intermediate Dynamics |  | 
  | Vibrations and System Modeling |  | 
  | Mechanical Vibrations |  | 
  | Ground Vehicle Dynamics and Design |  | 
  | Mechanical Controls and Implementations |  | 
  | Robotics: Fundamentals and Applications |  | 
  |  | 
  |  | 
 |  2 | 4 | 
  | Capstone Senior Project I and Capstone Senior Project II |  | 
  | Interdisciplinary Privacy and Security Capstone I and Senior Project - Privacy and Security Capstone II |  | 
  | Interdisciplinary Senior Project I and Interdisciplinary Senior Project II |  | 
 | Total Units | 30 | 
 
  
Security
 Course List        | Code |  Title |  Units |  
    | MATH 1151 | Linear Algebra | 3 | 
 EE 3306 & 3306L | Electronics I and Electronics Laboratory I | 4 | 
 CSC 4260 & CSC 4261 | Interdisciplinary Privacy and Security Capstone I and Senior Project - Privacy and Security Capstone II | 6 | 
  | 3 | 
  | Calculus III |  | 
  | Combinatorics I |  | 
  | Graph Theory |  | 
  | Number Theory |  | 
  | Game Theory |  | 
  |  | 
  | 3 | 
  | Malware Design and Analysis |  | 
  | Network Security |  | 
  | Wireless Security |  | 
  | Introduction to Hardware Security |  | 
  |  | 
  | 11 | 
  | Modern Application Development |  | 
  | Software Engineering |  | 
  | Cryptography Engineering and Applications |  | 
  | Introduction to Privacy: Policy and Technology |  | 
  | Software Security |  | 
  | Malware Design and Analysis |  | 
  | Binary Exploitation: Tools and Techniques |  | 
  | Web and Cloud Security |  | 
  | Special Advanced Topics in Computer Security |  | 
  | Seminars in Privacy and Security |  | 
  | Research Experience in Privacy and Security |  | 
  | Projects in Privacy and Security |  | 
  | Compiler Construction |  | 
  | Special Advanced Laboratory |  | 
  | Special Advanced Activity |  | 
  | Computer Security and Privacy |  | 
  | Software Security |  | 
  | Advanced Network Security and Privacy |  | 
  | Special Advanced Topics in Computer Security |  | 
  | Special Advanced Laboratory |  | 
  | Special Advanced Activity |  | 
  | Network Security |  | 
  | Wireless Security |  | 
  | Introduction to Hardware Security |  | 
  | Cooperative Education Experience |  | 
  | Vertically Integrated Project Experience I |  | 
  | Vertically Integrated Project Experience II |  | 
  | Vertically Integrated Project Experience III |  | 
  | Combinatorics I |  | 
  | Graph Theory |  | 
  | Number Theory |  | 
  | Game Theory |  | 
 | Total Units | 30 | 
 
General Education (GE) Requirements
  	- 43 units required, 16 of which are specified in Major and/or Support.
  	- If any of the remaining 27 Units is used to satisfy a Major or Support requirement, additional units of Free Electives may be needed to complete the total units required for the degree.
  	- See the complete GE course listing.
  	- A grade of C- or better is required in one course in each of the following GE Areas: 1A (English Composition), 1B (Critical Thinking), 1C (Oral Communication), and 2 (Mathematics and Quantitative Reasoning). 
  
    |  | 3 | 
  |  | 3 | 
  |  | 3 | 
   |  1 | 0 | 
   |  | 3 | 
  |  | 3 | 
   |  | 3 | 
  |  | 3 | 
   |  1 | 0 | 
  |  1 | 0 | 
  |  1 | 0 | 
   |  | 3 | 
   |  1 | 0 | 
  |  1 | 0 | 
  |  | 3 | 
 | Total Units | 27 |