
About Computer Engineering
Where hardware and software meet — digital systems, embedded computing, and architecture. Courses carry the CPE subject code and are offered through the College of Engineering & Technology. Numbers below 300 are introductory, 300–499 advanced undergraduate, and 500 and above graduate. Prerequisites are enforced at registration.
How the sequence works
Of the 9 CPE courses listed, 2 are introductory (numbers under 300), 2 are advanced undergraduate (300–499). 0 courses have no prerequisite and are a reasonable first step. Later courses assume the earlier ones, so read prerequisites before you plan a term — they are enforced at registration and an override from the Computer Engineering department is the only way around them.
CPE 2400 — Digital Logic Design 4 cr
Boolean algebra, combinational and sequential circuits, finite-state machines, and implementation on an FPGA in the lab.
Prerequisite: MATH 1400.
CPE 2600 — Introduction to Computer Architecture 3 cr
Instruction sets, the datapath and control, pipelining, caches, and the hardware–software interface.
Prerequisite: CPE 2400.
CPE 2800 — Programming for Computer Engineers 3 cr
C and C++ with an emphasis on memory, pointers, bit manipulation, and writing code for constrained targets.
Prerequisite: CS 1100.
CPE 3100 — Embedded Systems Design 4 cr
Microcontroller peripherals, interrupts, real-time constraints, buses, and building a working embedded product.
Prerequisite: CPE 2400, CPE 2800.
CPE 3300 — Hardware Description Languages 3 cr
Modeling, simulating, and synthesizing digital hardware in a hardware description language, with testbenches.
Prerequisite: CPE 2400.
CPE 3500 — Computer Networks 3 cr
The protocol stack, sockets, routing and switching, reliability and congestion control, and network programming.
Prerequisite: CPE 2800.
CPE 3700 — Operating Systems for Engineers 3 cr
Processes and threads, scheduling, memory management, and drivers, with kernel-level programming assignments.
Prerequisite: CPE 2600.
CPE 4100 — System-on-Chip Design 3 cr
Integrating processors, memory, and custom accelerators; on-chip interconnect; and hardware/software co-verification.
Prerequisite: CPE 3300.
CPE 4900 — Computer Engineering Senior Design 3 cr
A two-term team project delivering a working hardware/software system for an industry sponsor, with formal design reviews.
Prerequisite: senior standing.
Planning and advising
Your degree audit shows exactly how CPE courses apply to your requirements; this list only shows what is offered. If you are choosing between two courses, deciding when to take a heavy one, or wondering whether a course will run next term, your academic adviser or the Computer Engineering program office can tell you. Course availability by term is set close to registration and is not guaranteed by anything on this page.
Fictional information
UW–Porter Falls is a work of parody. Every course, prerequisite, credit value, and department on this page is invented; nothing here describes a real curriculum or a course you can enroll in.