300

CPEN-30000 Computer Architecture 1

This study of computer architecture covers the design and operation of basic components of the computer, including the central processor unit, memory unit, and I/0 unit. The course covers fundamental computing concepts such as instruction set architectures, machine mode, memory systems, and I/O interfacing. Programming assignments provide practice working with assembly language techniques, including looping and subroutines, while hardware-focused assignments provide practice with datapath design and implementation.
3

Prerequisites

CPSC 21000 and CPEN 21000

CPEN-31000 Computer Architecture 2

This course builds on the foundation provided in CPEN 30000 Computer Architecture 1. This course covers various processor performance improvement techniques including pipelining, instruction-level parallelism, branch prediction, memory multi-level caching and virtual memory, with emphasis on the implementation and performance analysis of these techniques. Students use hardware description language and CAD tools for the design input and timing analysis of the processor design. The course also provides a survey of modern and state-of-the-art processor implementations.

3

Prerequisites

CPEN 30000

CPEN-32000 Hardware and Software Systems

This course discusses the operation, design, and analysis of integrated computing systems, considering both the hardware and the software and their impact on each other. The material will be taught from the application perspective of embedded systems. Topics include embedded systems as hardware/software platforms; networks of devices; communication buses; device drivers and interrupts; processes, threads, and tasks; real-time operating systems; embedded software development tools; real-time operating systems; and benchmarking of computer systems.
3

Prerequisites

CPEN 21000 and CPEN 22000

CPEN-33000 Digital Communications

This course introduces the fundamental principles of wired and wireless digital communications systems, including conversion of information to digital data, encoding and decoding techniques, and the reliable transmission of digital data. Topics include foundational concepts such as bandwidth and power constraints, digital modulation methods, transceiver design principles, and channel coding. The course also introduces the operation and design of digital communication systems including cellular, sensor, wi-fi and satellite networks, as well as wired systems such as cable, phone and optical modems.
3

Prerequisites

CPEN 23000 and MATH 31400

CPEN-34000 Introduction to VLSI Design

This course covers the basic theories and techniques of Very Large Scale Integrated (VLSI) circuit design and CMOS technology. Topics include standard CMOS fabrication process, CMOS design and layout rules, simulation and testing, low power VLSI techniques, and various design tools and methodologies. Performance impact of VLSI design choices on speed, power consumption, reliability and cost are also covered.
3

Prerequisites

CPEN 21000 and CPEN 25000