Skip to Content (Press Enter)

 California State University, Fullerton



Text Size: Small Text Medium Text Large Text

Computer Engineering Course Descriptions

129 units are required for the Bachelor of Science degree in Computer Engineering. These 129 units include 56 units of core courses, 9 units of electives, 34 units of foundation courses in mathematics and science, and 49 units (30 unduplicated) of courses in General Education.

A total of 30 semester units are required for the master’s degree in Computer Engineering. The 30 units include 18 units of required core courses and 12 units of elective courses.

Course descriptions of only the computer engineering courses are given here. Computer engineering courses are designated as EGCP in the class schedule.

For computer science course (CPSC) descriptions, visit

For electrical engineering course (EGEE) descriptions, visit

For mathematics course (MATH) descriptions, visit

For physics course descriptions, visit

For biology course descriptions, visit

Computer Engineering (EGCP) Course Descriptions

EGCP 180 Digital Logic and Computer Structures
Prerequisite: CPSC 120. Binary number system and arithmetic, computer codes, Boolean algebra, logic gates, K-map minimization, sequential circuits, memory devices, state diagram and table, computer architecture, memory, Arithmetic Logic Unit, and control unit. (2 hours lecture, 2 hours laboratory). (3 units)

EGCP 280 Microcontrollers
Prerequisite: EGCP 180. Microcontrollers, microcontroller programming model and instruction set, assembler directives, writing and debugging microcontroller assembly language routines, microcontroller memory system, microcontroller communication systems. (1 hour lecture, 4 hours laboratory). (Same as EGEE 280) (3 units)

EGCP 281 Designing with VHDL
Prerequisites: CPSC 120 or 121 and EGCP 180. Introduction to various modeling methods, timings, events, propagation delays and concurrency, the language constructs, data representations and formats, and physical attributes. (1 hour lecture, 2 hours laboratory). (Same as EGEE 281) (2 units)

EGCP 371 Modeling and Simulation of Signals and Systems
Prerequisite: Math 250B. Modeling and simulation of physical systems, mathematical description of systems, transfer functions, poles and zeros, frequency response, continuous and discrete-time convolution, continuous and discrete Fourier transforms, Laplace and Z transforms, Fast Fourier Transforms, simulation using Matlab. (3 units)

EGCP 381 Computer Design and Organization
Prerequisites: EGCP 281 and EGEE 303. Computer system, central processing unit (CPU) organization and design, instruction set and addressing modes, microprogrammed control unit design, cache memory, internal memory, virtual memory, input/output interfacing, parallel processors, superscalar processors. (2 hours lecture, 4 hours laboratory). (4 units)

EGCP 401 Engineering Economics & Professionalism
Prerequisites: Math 150A and Junior or senior standing in Engineering. Development, evaluation and presentation of design alternatives for engineering systems and projects using principles of engineering economy and cost benefit analysis. Study of engineering profession, professional ethics, and related topics. (Same as EGCE 401 and EGEE 401) (3 units)

EGCP 441 Advanced Electronics for Computer Engineers
Prerequisites: EGCP 281 and EGEE 303. High speed CMOS, biCMOS, CPLDs, FPGAs, A/D, D/A, transducers and optics; integration of these devices into complete systems. (2 hours lecture, 4 hours laboratory). (4 units)

EGCP 446 Advanced Digital Design using Verilog HDL
Prerequisite: EGCP 441. Fundamentals of Verilog programming; behavioral modeling using Verilog; structural modeling using Verilog; RTL design using Verilog; Shannon’s decomposition; FPGA architecture; Digital design, synthesis and implementation using FPGA. (3 units)

EGCP 447 Introduction to Hardware Security and Trust
Prerequisite: EGCP 281. Hardware Trojan detection and isolation; physical and invasive attacks; side-channel attacks; physically unclonable functions; watermarking of Intellectual Property (IP) blocks; passive and active metering for prevention of piracy; access control. (3 units)

EGCP 450 Embedded Processor Interfacing
Prerequisites: EGCP 280, 381 and 441, EGEE 323, CPSC 351 and Math 270A. Techniques of interfacing based on speed, timings, synchronization, noise, cross-talk, hazards and race conditions. Interfacing specifications of the processor data, address, and control buses. (2 hours lecture, 4 hours laboratory). (4 units)

EGCP 456 Introduction to Logic Design in Nanotechnology
Prerequisite: EGCP 180 or EGEE 245. Survey of promising novel Nanoelectronic technologies and logic primitives for such technologies, applicable basic logic design technique, design models for spatial dimensions, applicable word-level data structures, multilevel circuit design, testability and observability, tolerance and reliable computing. (Same as EGEE 456) (3 units)

EGCP 461 Low Power Digital IC Design
Prerequisites: EGCP 180 and EGEE 303. Importance of low power design; analysis of power dissipation in digital integrated circuits; circuit-level low-power techniques, logic-level low-power techniques, and system-level low-power techniques. (Same as EGEE 461) (3 units)

EGCP 463 Current Topics in Computer Engineering
Prerequisite: Junior/Senior standing in computer engineering and consent of the instructor. Exploration of topics of contemporary interest from the perspective of current research and development in computer engineering. Lectures by guest professionals. (3 units)

EGCP 470 Multidisciplinary Projects in Computer Engineering - I
Corequisite: EGCP 450. 1st course in the 2-course senior design sequence. Students in teams will do a hardware/software project, from conception through implementation and testing, under an instructor's supervision. Teams first explore technology issues related to the projects and then prepare complete design proposals. (1 unit)

EGCP 471 Multidisciplinary Projects in Computer Engineering - II
Prerequisites: EGCP 450 and EGCP 470. 2nd course in the 2-course senior design course in which students in teams of two or more will do a hardware/software project under the supervision of the instructor. The development of design skill, based upon previous and current courses and laboratory experience, is emphasized. (4 hours laboratory). (2 units)

EGCP 499 Independent Study
Prerequisite: Application for independent study approved by the instructor and the Computer Engineering Program Coordinator. Independent study or research under the direction of a full-time faculty member.  May be repeated for a maximum of 3 total units of credit. (1 - 3 units)

EGCP 520 Advanced Computer Architecture
Prerequisite: EGCP 381. Performance analysis and evaluation; limitations of scalar pipelines; superpipelined, superscalar and VLIW processing; parallelism in programs; memory and I/O systems; out-of-order execution; branch prediction; register and memory data flow techniques; Tomasulo’s algorithm; COTS hardware accelerators, CUDA, GPU programming architecture. (3 units)

EGCP 541 Mixed-Signal IC Design
Prerequisite: EGCP 441. IC design techniques for: Op-amps; phase-locked loops (PLL); high-speed RF circuits; high- speed broadband circuits; clock/data recovery (CDR) circuits; analog and optical signal processing circuits; CMOS digital camera technologies. (3 units)

EGCP 542 VLSI Testing and Design for Testability
Prerequisite: EGCP 441. Fault model, equivalence and dominance; combinational and sequential circuit test generation; design for testability (DFT); test compression; memory testing and diagnosis; boundary scan; testing analog circuits; mixed-signal testing strategies; logic and mixed signal built-in self-test (BIST). (3 units)

EGCP 543 Advanced Secure Hardware Design
Prerequisites: EGCP 447 and EGCP 441. Secure hardware design and implementation at multiple levels of abstraction; cryptographic hardware primitives; cryptographic modules; trusted platforms; reverse engineering of cryptographic modules using passive attacks; active attacks and cryptanalytic techniques; countermeasures against reverse engineering. (3 units)

EGCP 556 Advanced Nanoelectronics
Prerequisite: EGCP 456. Novel nanoelectronic devices; CAD Analysis of nanoelectronic devices; Advanced MOSFETs—SOI, FinFETs, SiGe, carbon nanotubes and ribbons, nanowires; quantum devices: RTD, tunnel FET, qubits; nanomemory: DRAM, flash, M/F RAM, spin torque devices. (3 units)

EGCP 597 Project
Prerequisite: Consent of adviser. Classified graduate students only.
Project proposal must be approved prior to last day of class instruction of the preceding semester. (3 units)

The project course, designed to replicate a full spectrum of design processes that are involved in a medium-sized computer engineering project in the industry, requires students to work in groups of 3 - 4. The experience includes a creative design effort with realistic socio economic constrains and development of skills such as, feasibility study, project planning, design formulation, time budgeting, oral, written and visual communication to document and disseminate the design adequately to others. The project requires students to think independently, research and brainstorm different project concepts before settling on a project that meets several criteria set forth by the Computer Engineering program. Students are provided with systematic faculty guidance during the capstone project to ensure a well-rounded experience.

EGCP 598 Thesis
Prerequisite: consent of adviser. Classified graduate students only.
Thesis proposal must be approved prior to last day of class instruction of the preceding semester. (6 units)

The student shall choose, in consultation with their faculty advisor, a thesis committee consisting of three faculty members. The thesis topic and proposal must be approved by the Faculty Advisor and the thesis committee prior to the student’s undertaking the research problem. The thesis should cover original research and be prepared according to the university guidelines. The thesis committee will judge the research competence of the student during the thesis defense. Thesis defense is announced in advance and open to the university community. Students are responsible for adhering to all due dates regarding the thesis defense, and submission of copies of the thesis.

EGCP 599 Independent Graduate Research
Prerequisite: Application for independent study approved by the instructor and the Computer Engineering Program Coordinator. Independent study or research under the direction of a full-time faculty member.  May be repeated for a maximum of 3 total units of credit. (1 - 3 units)