2026-2028 Catalog

https://cpe.calpoly.edu

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 strives to directly incorporate this experience in the classroom.

Four educational objectives inspire alumni of the Cal Poly Computer Engineering program to excel professionally:

  1. Make positive contributions to society and the practice of computer engineering by applying foundational knowledge and the engineering process to solve engineering problems.
  2. Work in an individual or team environment in a socially responsible manner.
  3. Engage in lifelong learning through continued professional development or graduate studies.
  4. 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 technologies 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 networks
  • computer based controls
  • software systems
  • graphics and multimedia
  • 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 Engineering Advising website.

Undergraduate Programs

How to Read Course Descriptions

CPE Courses

CPE 1000 Computing Majors Orientation (1 unit)
Term Typically Offered: F

Introduction to the computing majors. Community building, mentoring, personal well-being skills, academic success skills, and department, school, college, and university support resources. Importance of justice, equity, diversity, and inclusivity in computing. Societal responsibilities of computing practitioners. 1 lecture. Crosslisted as CPE/CSC 1000. Formerly CPE 100.
CPE 1024 Introduction to Computing (2 units)
Term Typically Offered: F

Introduction to computing through hands-on activities. Highly supportive environment exploring authentic problems in computing topics developing skills and creating community. No programming experience required. The Class Schedule will list subtitle selected. Not open to students with credit in CPE/CSC 202 or CSC 2001. 1 lecture, 1 activity. Crosslisted as CPE/CSC 1024. Formerly CPE/CSC 123.
CPE 2050 System Software Mechanics (3 units)
Term Typically Offered: F, SP
Prerequisite: CPE/CSC 202 or CSC 2001 with a grade of C- or better.

Systems-level considerations for software development. Tools for task automation, debugging, and program analysis. Introductory shell scripting. Explicit memory management and tracking errors. Programmatically interfacing with the operating system. Introductory process management. 2 lectures, 1 activity. Crosslisted as CPE/CSC 2050. Replaced CPE/CSC 357.
CPE 2300 Introduction to Computer Systems (3 units)
Term Typically Offered: F, SP
Prerequisite: CPE/CSC 101 or CSC 1001.

Study of the instruction set architecture of a computer system. Mapping high-level programming language statements to assembly language. Representation of simple data types and structures. Numerical computation and errors. Combinational and sequential logic. Procedure calling conventions. Device I/O interactions. Course may be offered in classroom-based or online format. 3 lectures. Formerly CPE/CSC 225.
CPE 2301 Introduction to HDL and Digital Design Laboratory (1 unit)
Term Typically Offered: F, SP
Corequisite: CPE/CSC 225 or CPE 2300.

Introduction to Hardware Description Language (HDL) concepts and applications, digital design, and synthesis with Field-programmable Gate Arrays (FPGA). Course may be offered in classroom-based, online, or hybrid format. 1 laboratory. Formerly CPE/EE 133.
CPE 3160 Microcontrollers and Embedded Applications (3 units)
Term Typically Offered: F, SP
Prerequisite: CPE/CSC 357 or CPE/CSC 2050; and CPE/CSC 225, CPE/EE 233, or CPE 2300.

Introduction to microcontrollers and their applications as embedded devices. Hardware/software tradeoffs, use of on-chip and off-chip peripherals including GPIO, timers, analog to digital (ADC) and digital to analog (DAC) converters, and serial buses (SPI, I2C, and USART). Not open to students with credit in CPE 329, CPE 336, or EE 3329. Course may be offered in classroom-based, online, or hybrid format. 2 lectures, 1 activity. Formerly CPE 316.
CPE 3201 Introduction to Computer Security (3 units)
Term Typically Offered: F, SP
Prerequisite: CPE/CSC 357 or CPE/CSC 2050.

Survey of computer security, including protection, access control, applied cryptography, network security, secure coding practices, secure machine learning, privacy, and case studies from real-world systems. Course may be offered in classroom-based or online format. 3 lectures. Crosslisted as CPE/CSC 3201. Formerly CPE/CSC 321.
CPE 3300 Computer Architecture (4 units)
Term Typically Offered: F, SP
Prerequisite: CPE/CSC 101 and CPE/EE 233; or CPE 2300 and CPE 2301. Recommended: CPE/CSC 357 or CPE/CSC 2050.

Basic computer organization and design, combinational and sequential logic analysis and design, computer arithmetic, control unit design, pipelining, interconnects, memory organizations, I/O design, energy/reliability/performance evaluation, parallel processing; Design, implementation, simulation, and layout of a computer. Course may be offered in classroom-based, online, or hybrid format. 3 lectures, 1 laboratory. Formerly CPE 333.
CPE 3345 Quantum Computing (3 units)
Term Typically Offered: SP
Prerequisite: One of the following: MATH 206, MATH 244, MATH 1151, or MATH 2341; and one of the following: CHEM 353, CHEM 3392, PHYS 211, or PHYS 2211.

Quantum mechanical wave functions. Principle of superposition and entanglement. States of one or more quantum bits. Quantum gates and circuits. Application of quantum gates on simulators and quantum computers. Quantum computer architectures. Quantum algorithms. Ethics of quantum computing. 2 lectures, 1 activity. Crosslisted as CPE/PHYS 3345. Formerly CPE/PHYS 345.
CPE 4140 Robotic Systems Integration (3 units)
Term Typically Offered: TBD
Prerequisite: One of the following: CPE 316, CPE 3160, CPE/EE 329, or EE 3329.

Integration of sensors, actuators, chassis, and Linux-based computational platforms into functioning autonomous robotic systems. Embedded Linux system programming, inter-process software communication, basic sensor fusion techniques, Pulse Width Modulation (PWM) motor actuation, and web-based interfacing for remote system way-pointing and monitoring. Course may be offered in classroom-based, online, or hybrid format. 2 lectures, 1 activity. Formerly CPE/EE 414.
CPE 4160 Autonomous Mobile Robotics (4 units)
Term Typically Offered: TBD
Prerequisite: CPE/EE 329, CPE 316, or CPE 3160.

Theory and application of concepts relevant to autonomous mobile robots. Sensor and actuator interfacing, programming mobile robots, mobile robot configurations, software architectures, and algorithms. 3 lectures, 1 laboratory. Formerly CPE 416.
CPE 4180 Advanced Microcontrollers and Embedded Applications (3 units)
Term Typically Offered: TBD
Prerequisite: One of the following: CPE 316, CPE 3160, CPE/EE 329 or EE 3329.

Advanced use of microcontrollers and application development as embedded devices. Hardware/software tradeoffs, DMA, low power modes, watchdog timers, using optimized libraries (ARM CMSIS). Data filtering for accelerometers, gyroscopes, and magnetometers. Wireless networking. Course may be offered in classroom-based, online, or hybrid format. 2 lectures, 1 activity. Replaced CPE/EE 522.
CPE 4190 Applied Parallel Computing (4 units)
Term Typically Offered: F, SP
Prerequisite: CPE/CSC 357 or CPE/CSC 2050. Corequisite: MATH 248 or MATH 2031. Recommended: CPE 333 or CPE 3300.

Introduction to applied parallel computing paradigms: software models, resource allocation, performance measurement, and data sharing. Emphasis on massively parallel computation and performance improvement for a real-world application of significant scope. Course may be offered in classroom-based or online format. 3 lectures, 1 laboratory. Formerly CPE 419.
CPE 4220 Network Security (3 units)
Term Typically Offered: F, SP
Prerequisite: One of the following: CSC 364, CSC 3001, CPE 464, or CPE 4464.

Introduction to network security, exploring vulnerabilities and defenses in all layers of the OSI stack including the physical layer, link layer, network layer, transport layer, session layer, and applications. 2 lectures, 1 activity. Formerly CPE/CSC 422.
CPE 4250 Wireless Security (3 units)
Term Typically Offered: TBD
Prerequisite: CPE/CSC 321 or CPE/CSC 3201. Corequisite: PHIL 323 or PHIL 3323.

Comprehensive overview of wireless networks and system security. Security issues and solutions in emerging wireless access networks and systems as well as multi-hop wireless networks. 2 lectures, 1 activity. Formerly CPE/CSC 425.
CPE 4260 Interdisciplinary Privacy and Security Capstone I (3 units)
Term Typically Offered: F
Prerequisite: Senior standing; one of the following: CSC 320, CPE/CSC 321, CPE/CSC 3201, or CSC 3200; and PHIL 323 or PHIL 3323.

Interdisciplinary security and privacy engineering with a customer. Design and implementation of a penetration testing plan with consideration of ethics, usability, and cost. Documentation, presentation, and communications to customers. Focus on managing security teams. 2 lectures, 1 laboratory. Crosslisted as CPE/CSC 4260.
CPE 4261 Senior Project - Privacy and Security Capstone II (3 units)
Term Typically Offered: SP
Prerequisite: CPE/CSC 4260.

Interdisciplinary testing, analysis, and construction of a secure solution including analysis of the ethical, policy, and usability implications. Focus on effective documentation and communication with various customers and stakeholders. 2 lectures, 1 laboratory. Crosslisted as CPE/CSC 4261.
CPE 4280 Introduction to Hardware Security (3 units)
Term Typically Offered: SP
Prerequisite: CPE 333 or CPE 3300; and CPE/EE 233, CPE/CSC 321, or CPE/CSC 3201.

An introduction to hardware security from embedded systems to secure hardware design including hardware Trojans, hardware cryptography, side-channel attacks, physical device verification, and physically unclonable functions. 2 lectures, 1 activity. Formerly CPE 426.
CPE 4300 Advanced Computer Architecture (4 units)
Term Typically Offered: F, SP
Prerequisite: CPE 333 or CPE 3300.

Advanced concepts in computer architecture. Design for thread-level parallelism, data-level parallelism, domain specific languages, large-scale computing, memory systems, and virtualization. Energy, reliability, security, and performance evaluation. Design and implementation of a custom computing system. Course may be offered in classroom-based, online, or hybrid format. 3 lectures, 1 laboratory. Formerly CPE 315.
CPE 4310 Compiler Construction (3 units)
Term Typically Offered: SP
Prerequisite: CPE/CSC 357 or CPE/CSC 2050; and CPE/CSC 225, CPE/EE 233, or CPE 2300.

Design and construction of compilers. Concepts include syntactic analysis, semantics, code generation, and code transformations. Examine problems in processing languages. A complete compiler for a small language will be implemented. 2 lectures, 1 activity. Crosslisted as CPE/CSC 4310. Formerly CPE/CSC 431.
CPE 4390 Introduction to Real-Time Operating Systems (3 units)
Term Typically Offered: TBD
Prerequisite: One of the following: CPE 316, CPE 3160, CPE/EE 329, or EE 3329.

Theory, design, and implementation of embedded systems using a real-time operating system (RTOS). Real-time principles include multi-tasking, scheduling, and synchronization. Peripheral device interfacing and resource management issues in a resource-limited environment. Debugging complications and strategies with RTOS. Course may be offered in classroom-based, online, or hybrid format. 2 lectures, 1 activity. Formerly CPE 439.
CPE 4400 Special Problems for Undergraduates (1-4 units)
Term Typically Offered: F, SP, SU
Prerequisite: Consent of instructor.

Individual investigation, research, studies, or surveys of special problems. Repeatable up to 4 units. Formerly CPE 400.
CPE 4420 High-Performance Embedded Systems (3 units)
Term Typically Offered: F
Prerequisite: One of the following: CPE 316, CPE 3160, CPE/EE 329, or EE 3329.

Design and implementation of modern embedded systems. Operating system resources. Software optimization using threading and SIMD. Efficient use of modern multi-level computer memory systems from L1 cache to DRAM. Course may be offered in classroom-based, online, or hybrid format. 2 lectures, 1 activity. Formerly CPE/EE 442.
CPE 4455 Design of Fault-Tolerant Systems (4 units)
Term Typically Offered: F
Prerequisite: One of the following: CPE 316, CPE 3160, CPE/EE 329, or EE 3329. Recommended: One of the following: STAT 350, STAT 3310, STAT 312, or STAT 3210.

Hardware and software fault tolerance concepts: fault models; coding in computer systems; module and system-level fault detection mechanisms; reconfiguration techniques for general purpose processors and ASICs; software fault tolerance techniques such as recovery blocks, N-version programming, and checkpointing and recovery. Course may be offered in classroom-based, online, or hybrid format. 3 lectures, 1 laboratory. Crosslisted as CPE/EE 4455. Formerly CPE/EE 446.
CPE 4460 Capstone Senior Project I (3 units)
Term Typically Offered: F
Prerequisite: Senior standing; and one of the following: CPE 316, CPE 3160, CPE 333, CPE 3300, CPE/CSC 321, or CPE/CSC 3201.

Team-based senior design project. Team development, customer development, and project development. Definition and system specification; requirements elicitation techniques, research and data gathering methods; project planning, time, and budget estimating; project team organization; prototyping. Ethics and professionalism. Course may be offered in classroom-based or online format. 1 lecture, 2 laboratories. Replaced CPE 350.
CPE 4461 Capstone Senior Project II (3 units)
Term Typically Offered: TBD
Prerequisite: CPE 350 or CPE 4460.

Second of two courses taken sequentially in a team-based senior design project. Team development, customer development, and project development. Team-based design; project planning, time, and budget estimating; project team organization; prototyping; integration and testing. User and technical documentation. Ethics and professionalism. Course may be offered in classroom-based or online format. 1 lecture, 2 laboratories. Formerly CPE 450.
CPE 4464 Introduction to Computer Networks (3 units)
Term Typically Offered: F, SP
Prerequisite: CPE/CSC 357 or CPE/CSC 2050.

Introduction to networks; network architectures, layer abstraction model, local area networks, wide area networks, internet architecture, communications protocol standards at OSI layers 2 - 4, wireless network protocols, historical and current examples presented. Application of network concepts. Course may be offered in classroom-based, online, or hybrid format. 2 lectures, 1 laboratory. Formerly CPE 464.
CPE 4465 Advanced Computer Networks (3 units)
Term Typically Offered: TBD
Prerequisite: One of the following: CSC 364, CSC 3001, CPE 464, or CPE 4464.

Advanced topics in computer networks; greater detail of protocol standards and services provided by the network; focus on current industry trends. Course may be offered in classroom-based, online, or hybrid format. 2 lectures, 1 activity. Formerly CPE 465.
CPE 4470 Special Advanced Topics (1-4 units)
Term Typically Offered: TBD
Prerequisite: Consent of instructor.

Directed group study of special topics for advanced students. The Class Schedule will list topic selected. Repeatable up to 8 units. Course may be offered in classroom-based, online, or hybrid format. 1 to 4 lectures. Formerly CPE 470.
CPE 4471 Special Advanced Laboratory (1-2 units)
Term Typically Offered: TBD
Prerequisite: Consent of instructor.

Directed group laboratory study of special topics for advanced students. The Class Schedule will list topic selected. Repeatable up to 8 units. Course may be offered in classroom-based, online, or hybrid format. 1 to 2 laboratories. Formerly CPE 479.
CPE 4472 Special Advanced Activity (1-3 units)
Term Typically Offered: F
Prerequisite: Consent of instructor.

Directed group study of special topics for advanced students. The Class Schedule will list topic selected. Repeatable up to 8 units. Course may be offered in classroom-based, online, or hybrid format. 1 to 3 activities.
CPE 4491 Seminar in Computer Engineering (1 unit)
Term Typically Offered: F, SP
Prerequisite: Consent of instructor. Recommended: CPE/CSC 357 or CPE/CSC 2050; and CPE/CSC 225, CPE/EE 233, or CPE 2300.

Faculty supervised readings and discussion in Computer Engineering. Literature review, paper critique, searching academic databases, and preparing an annotated bibliography. Repeatable up to 4 units. Course may be offered in classroom-based or online format. 1 seminar.
CPE 4492 Research Experience in Computer Engineering (1-2 units)
Term Typically Offered: F, SP
Prerequisite: CPE/CSC 357 or CPE/CSC 2050; and CPE/CSC 225, CPE/EE 233, or CPE 2300; and consent of instructor.

Collaborative research activity under faculty supervision on a defined problem. Literature review, prototype development, analysis, documentation. Repeatable up to 4 units. Course may be offered in classroom-based or online format. 1 to 2 lectures.
CPE 4493 Projects in Computer Engineering (1-2 units)
Term Typically Offered: F, SP, SU
CR/NC
Prerequisite: CPE/CSC 357 or CPE/CSC 2050; and CPE/CSC 225, CPE/EE 233, or CPE 2300; and consent of instructor.

Instructor-guided design and implementation of advanced projects in computer engineering. Projects selected from real-world computing problems. Focus on implementation, testing, and analysis of team-based projects. Each offering will select a different project. Repeatable up to 4 units. Credit/No Credit grading only. Course may be offered in classroom-based or online format. 1 to 2 lectures.
CPE 4495 Cooperative Education Experience (1-2 units)
Term Typically Offered: F, SP, SU
CR/NC
Prerequisite: Consent of instructor.

Full-time work experience in business, industry, government, and other areas of student career interest. Positions are paid and usually require relocation. Formal report and evaluation by work supervisor required. Repeatable up to 4 units. Credit/No Credit grading only. Formerly CPE 493.
CPE 4553 Introduction to Operating Systems (3 units)
Term Typically Offered: F, SP
Prerequisite: CPE/CSC 357 or CPE/CSC 2050; and CPE/CSC 225, CPE/EE 233, or CPE 2300. Recommended: CSC 308 or CSC 3001; and CPE 316 or CPE 3160.

Sequential and multiprogramming operating systems; system calls, scheduling, synchronization, files and storage systems, virtual memory, security. Course may be offered in classroom-based or online format. 2 lectures, 1 activity. Crosslisted as CPE/CSC 4553. Formerly CPE/CSC 453.
CPE 4570 Special Advanced Topics in Computer Systems (1-4 units)
Term Typically Offered: F, SP
Prerequisite: CPE/CSC 357 or CPE/CSC 2050; and consent of instructor.

Special aspects of design, implementation, and analysis of networks, advanced operating, and distributed systems. Topics may include process management, virtual memory, process communication, context switching, file system designs, persistent objects, process and data migration, load balancing, security, and networks. The Class Schedule will list topic selected. Repeatable up to 8 units. 1 to 4 lectures. Crosslisted as CPE/CSC 4570. Formerly CPE/CSC 458.
CPE 4650 Scalable Server Implementation and Testing (3 units)
Term Typically Offered: F
Prerequisite: One of the following: CPE/CSC 453, CPE/CSC 4553, CPE/EE 442, or CPE/EE 4420; and one of the following: CSC 364, CSC 3001, CPE 464, or CPE 4464.

Implementation and testing of network servers with an emphasis on high client volume. Concepts include concurrency models, asynchronous I/O, edge and level triggered notifications, system call batching, testing, and performance measurement. Multiple server architectures will be implemented and evaluated. Course may be offered in classroom-based, online, or hybrid format. 2 lectures, 1 laboratory.
CPE 4669 Distributed Systems (4 units)
Term Typically Offered: SP
Prerequisite: CPE/CSC 357 or CPE/CSC 2050.

Foundations in distributed computing. Distributed programming languages. Distributed algorithms. Leader election consensus protocols. Failure detection with gossip protocol. Fault tolerance and replication. Consistency protocols. Course may be offered in classroom-based or online format. 3 lectures, 1 laboratory. Crosslisted as CPE/CSC 4669. Formerly CPE/CSC 469.
CPE 5300 Computer Microarchitecture (3 units)
Term Typically Offered: TBD
Prerequisite: CPE 333, CPE 3300, or graduate standing.

Advanced computer architecture and design, with a specific focus on designing, building, and implementing systems on modern FPGAs and VLSI process technologies. Custom hardware design, system integration, and fabrication methodologies through hands-on-projects and real-world applications. Course may be offered in classroom-based, online, or hybrid format. 3 lectures. Formerly CPE/CSC 515.
CPE 5350 Digital Systems Design (3 units)
Term Typically Offered: TBD
Prerequisite: One of the following: CPE 333, CPE 3300, CPE 316, CPE 3160, CPE/EE 329, EE 3329, or graduate standing.

Full-custom design and analysis of digital circuits using full CMOS, pass-transistor, and dynamic circuit topologies. Transistor sizing for minimizing power consumption, delay, and other design criteria. Course may be offered in classroom-based, online, or hybrid format. 2 seminars, 1 activity. Formerly CPE/EE 523.
CPE 5420 Advanced High-Performance Embedded Systems (3 units)
Term Typically Offered: TBD
Prerequisite: CPE/EE 442, CPE/EE 4420, or graduate standing.

Advanced study and application of modern embedded systems. Memory bandwidth matching, clock-domain crossing, IP creation and verification, and student-led lectures on modern System on Chip (SoC) design topics. Building a prototype embedded system. Course may be offered in classroom-based, online, or hybrid format. 3 lectures, 1 laboratory. Formerly CPE/EE 542.
CPE 5564 Research Topics in Computer Networks (3 units)
Term Typically Offered: TBD
Prerequisite: One of the following: CPE/CSC 422, CPE 464, CPE 4464, CPE 4220, or graduate standing; and consent of instructor.

Exploration of advanced topics in emerging network technologies; focus on leading edge networks research. Course may be offered in classroom-based, online, or hybrid format. 3 lectures. Formerly CPE/CSC 564.
CPE 5660 Computer Systems (3 units)
Term Typically Offered: TBD
Prerequisite: CPE 333, CPE 3300, or graduate standing.

Organization of modern general purpose, high speed digital computer systems. Design of arithmetic units, control units, memories, and memory subsystems. Cost, power, and speed trade-offs in the design of such systems. Course may be offered in classroom-based, online, or hybrid format. 2 seminars, 1 activity. Formerly CPE/EE 521.
CPE 5669 Distributed Computing (4 units)
Term Typically Offered: SP
Prerequisite: CPE/CSC 357 or CPE/CSC 2050; or graduate standing and consent of instructor.

Principles and practices in distributed computing. Distributed algorithms. Leader Election consensus protocols. Failure Detection with Gossip Protocol. Fault tolerance and replication. Consistency protocols. Distributed File Systems. Distributed Systems for Scientific Applications. Course may be offered in classroom-based or online format. 3 lectures, 1 laboratory. Crosslisted as CPE/CSC 5669. Formerly CPE/CSC 569.

Stephen Beard
B.S., California Polytechnic State University, San Luis Obispo, 2010 ; M.S., Princeton, 2011; Ph.D., 2019.

John M. Bellardo
B.S., California Polytechnic State University, San Luis Obispo, 1999; M.S., University of California, San Diego, 2001; Ph.D., 2006.

Bridget G. Benson
B.S., California Polytechnic State University, San Luis Obispo, 2005; M.S., University of California Santa Barbara, 2007; Ph.D., University of California, San Diego, 2010

John Clements
B.A., Princeton University, 1996; M.S., Rice University, 2001; Ph.D., Northeastern University, 2005.

Andrew R. Danowitz
B.S., Harvey Mudd College, Claremont, 2008; M.S., Stanford University, 2010; Ph.D., Stanford University, 2014.

Bruce E. DeBruhl
B.S. Kettering University, 2009; M.S. Carnegie Mellon University, 2013; Ph.D. 2015.

Carlos Diaz Alvarenga
B.S., University of California, Merced, 2017; Ph.D., University of California, Merced, 2024.

Dongfeng Fang
B.S., Harbin Institute of Technology, China, 2009; M.S., Shanghai University, China, 2014; Ph.D., University of Nebraska, 2019.

Katharina Gillen
Vordiplom, Rheinische Friedrich-Wilhelms Universität Bonn, 1998; M.S., The Ohio State University, 2000; Ph.D., 2005.

Ria Kanjilal
B.T. West Bengal University of Technology, India, 2009; M.T., West Bengal University of Technology, India, 2014; Ph.D., University of South Florida, 2022.

Foaad Khosmood
B.S., California Polytechnic State University, San Luis Obispo, 1999; M.S., 2005; Ph.D., University of California, Santa Cruz, 2011.

Satchiko Mastumoto
B.A. Computer Science, University of California, Berkeley; 2018; B.A. Physics, University of California, Berkeley, 2018; Ph.D., University of California, San Diego; 2025.

Bryan J. Mealy
B.S., California Polytechnic State University, San Luis Obispo, 1990; M.S., 1993; M.S., University of California, Santa Cruz, 1999; Ph.D., 2002.

John Y. Oliver
B.S., Boston University, 1998; M.S., University of California, Davis, 2006; Ph.D., University of California, Davis, 2007

Andrea Schuman
B.S. University of Oklahoma, 2019; M.S. Virginia Tech, 2022; Ph.D., 2025.

John S. Seng
B.S., Northwestern University, 1997; M.S., University of California, San Diego, 1999; Ph.D., 2003.

Lynne A. Slivovsky
B.S., Purdue University, 1992; M.S., 1993; Ph.D., 2001.

Hugh M. Smith
B.S., Xavier University, 1985; M.S., Michigan State University, 1994; Ph.D., 1999.