CPEN - Computer Engineering

CPEN-10000 Introduction to Computer Engineering

This course introduces students to the practice of engineering. It exposes students to how engineers provide solutions to problems that meet technical, project, and financial requirements. It gives students an opportunity to hone this approach to solving problems in the context of a number of team-oriented engineering design activities.
2

Prerequisites

MATH 20000 and PHYS 21000

CPEN-20000 Engineering Applications

This course introduces students to the computer-based tools used by engineers in the course of their work. Tools include Matlab, Maple, CAD, Excel, SPSS, and C++.
3

Prerequisites

CPEN 10000

CPEN-21000 Logic Design

This course provides a modern introduction to logic design and digital systems. Topics include logic gates, arithmetic circuits, and flip-flops and how these are combined to implement counters, registers, memory, and state machines. Students will represent these devices using a variety of diagrams.
3

Prerequisites

CPEN 10000

CPEN-22000 Electric and Electronic Circuits

This course introduces students to how electrical and electronic circuits function. Topics include electrical current and voltage, electrical energy, and electrical power. Circuit components such as resistors, inductors, and capacitors are explained both in terms of their underlying physics and how they influence the behavior of electric circuits. Circuit analysis techniques such as Ohm's Law, Kirchhoff's voltage and current laws, Thevenin and Norton transformations, and the superposition theorem are explained and used to solve problems. Basic electrical measurement techniques are demonstrated and applied in a series of laboratory experiments.
5

Prerequisites

PHYS 21500

CPEN-23000 Signals and Systems

This course provides an introduction to concepts and methodology of linear dynamic systems in relation to discrete- and continuous-time signals. Topics include representation of systems and signals; Fourier, Laplace, and Z-transforms; and convolution. Linear systems are described in terms of inputs and outputs  and expressed as transfer functions. Systems are analyzed in the time domain and the frequency domain. Filtering and processing of signals will be discussed as applications of the theory. System response will be modeled and visualized using Matlab.
3

Prerequisites

CPEN 22000

CPEN-30000 Computer Architecture 1

This study of computer organization covers the central processor unit, memory unit and I/0 unit, number systems, character codes and I/O programming. Programming assignments provide practice working with assembly language techniques, including looping, addressing modes, arrays, subroutines, and macros. Microsoft assembler is discussed and used for programming throughout the course.
3

Prerequisites

CPSC 21000

CPEN-31000 Computer Architecture 2

This course builds on the foundation provided in CPSC 30000 / CPEN 30000, Computer Organization / Computer Architecture 1.  It provides a survey of common combinational circuit components; the theory and operation of solid state components; sequential circuit design and analysis; timing analysis of sequential circuits; use of computer-aided design tools for digital logic design (schematic capture, hardware description languages, simulation); design of simple processors and memory subsystems; program execution in simple processors; basic techniques for enhancing processor performance; configurable logic devices.

3

Prerequisites

CPSC 30000 or 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

CPSC 36000 and CPEN 31000

CPEN-40000 Computer Engineering Applications

This course surveys a range of application areas in which Computer Engineers provide solutions. Topic areas include industrial automation, product life cycle management, cyber security systems, transportation and logistics, sustainable practice, and health care systems. How Computer Engineering shapes and is shaped by these and other application areas will be explored. Students will design computer systems to solve problems related to these application areas.
3

Prerequisites

CPEN 32000

CPEN-41000 Artificial Intelligence

Topics central to Artificial Intelligence are covered, including knowledge representation, the predicate calculus, goal-directed and data-directed search techniques, and rule-based expert systems. Two languages for problem solving is presented: LISP and PROLOG.
3

Prerequisites

MATH 31000 and CPSC 21000

CPEN-45000 Robotics

This course introduces the student to the modeling, identification, and control of robotic systems. The course focuses on the implementation of identification and control algorithms on a two-link robot. Topics include the mathematical modeling of robotic systems and the analysis, simulation, and implementation of both linear and nonlinear representations of such systems. The design and integration of sensors and actuators and algorithms for responding and controlling these devices will be pursued.
3

Prerequisites

CPSC 47000 and CPEN 41000

CPEN-49600 Computer Engineering Senior Project

This is the  culminating experience in the Computer Engineering program. Students will work in teams to develop a computer engineering solution to a realistic problem. Such solutions will consist of both hardware and software components. This course satisfies the Advanced Writing Requirement in Computer Engineering.
3

Prerequisites

CPEN 40000 and a current or successfully completed 400-level Computer Engineering elective