Computer Engineering Courses

EN 105 (3) Programming for Engineers. Prerequisite: MATH 111 or equivalent. This course introduces C/C++ programming concepts to engineering students. Its emphasis is on acquiring fundamental programming skills and learning appropriate syntax. Topics include variables, data types, expressions and statements, input/output formatting, modularization and subroutines, arrays, pointers and strings, and use of library functions. Course projects include program development for various engineering applications.

EN 212 (3) Digital Logic. Prerequisite: MATH 111 or equivalent. This is an introductory course to digital design. Topics include number systems, binary logic, Boolean algebra, truth tables, minimization of Boolean functions, K-maps, and Flip-Flops. Designs include combinational circuits, counters, and sequential circuits.

ENL 212 (1) Digital Logic Laboratory. Co-requisite: EN 212. This laboratory course enables students to validate the major concepts covered in EN 212, Digital Logic. Experiments include basic gates, adders, counters, and Flip-Flops.

EN 220 (3) Circuit Theory. Prerequisite: MATH 232 and PHY 211. This course introduces concepts and basic laws in the analysis of AC and DC linear electric circuits. Topics include mesh and nodal analysis, Thevenin’s and Norton’s theorems, superposition principle, transients in RLC circuits, phasor notation, and frequency response.

ENL 220 (1) Circuits Laboratory. Prerequisites: MATH 232 and PHY 211. Co-requisite: EN 220. This laboratory course enables students to validate the major concepts covered in EN 220, Circuit Theory. Experiments include Ohm’s law, node voltage analysis, RC circuits, and RL circuits.

EN 252 (3) Engineering Analysis. Prerequisite: MATH 231. This course introduces the principles and applications of engineering mathematics, including linear algebra, Fourier analysis and complex variable theory.


CPE 312 (3) Computer Organization and Design. Pre-requisite: EN 212, Co-requisite: CPEL 312. This course introduces the basic computer organization, which includes the Central Processing Unit (CPU) architecture, memory organization, and input/output subsystem. It covers instruction sets, addressing modes, hardwired control, and microprogrammed control. Projects emphasize simple CPU designs.

CPE 315 (3) Synthesis with Hardware Descriptive Language. Prerequisite: EN 212. This course provides an overview of digital logic design. It covers modeling and simulation of basic digital systems using a hardware descriptive language. Topics include behavioral, data flow, and structural modeling.

CPE 330 (3) Electronics. Prerequisite: EN 220, Co-requisite: CPEL 330. This course introduces fundamental concepts in electronics. Topics include diode, BJT, and FET circuits. It covers frequency response, biasing, current sources and mirrors, small-signal analysis, and design of operational amplifiers.

CPEL 330 (1) Electronics Laboratory. Prerequisite: EN 220. Co-requisite: CPE 330. This laboratory course includes experiments that validate the concepts covered in CPE 330, Electronics. Experiments include diode circuits, BJT characteristics, FET characteristics, and MOSFET circuits.

CPE 345 (3) Electromagnetic Fields. Prerequisites: EN 220 and MATH 233. This course introduces fundamental concepts in electromagnetics and photonics. Concepts include flux, potential, gradient, divergence, curl, and field intensity. Topics cover boundary conditions, solutions to Laplace and Poisson equations, capacitance and inductance calculations, conductors, insulators, and magnetic materials.

CPE 351 (3) Signals and Systems. Prerequisite: EN 220. This course introduces theoretical analysis of signals and systems. Topics include time-domain response and convolution, Fourier transform, frequency-domain response using Fourier series, and Laplace transform, discrete Fourier series and transform, sampling, z-transform, and relationships between time and frequency descriptions.

CPE 355 (3) Control Systems. Prerequisite: EN 220. This course introduces fundamental principles of classical feedback control. Topics include state variable analysis of linear dynamic systems, stability of linear control systems, time-domain analysis and control of linear systems, root-locus analysis and design, pole-zero synthesis, and frequency domain techniques for analysis and design of control systems.

CPE 360 (3) Embedded Microprocessor Systems. Prerequisite: CPE 312. This course covers the architecture, operation, and applications of microprocessors. Topics include microprocessor programming, address decoding, interfacing to memory, interfacing to parallel and serial input/output, interrupts, and direct memory access. Course project is to design, build, and program a simple microprocessor-based system.

CPEL 360 (1) Microprocessor Laboratory. Co-requisite: CPE 360. This laboratory course enables students to validate the major concepts covered in CPE 360, Embedded Microprocessor Systems. Experiments include building and/or interfacing a microprocessor system.

CPE 405 (3) Database Management Systems. Prerequisites: CSC 220 or consent of instructor. Emphasis is on the design of systems that can manipulate and retrieve data from large databases using high-level formal languages. Topics covered are data models and data independence, normalization in relational databases, development of high-level query languages for relational and hierarchical models, and visual query languages. The course includes an individual project that implements an enterprise application using a commercial database system.

CPE 412 (3) Computer Architecture. Prerequisite: CPE 312. This course covers computer architecture design issues. Topics include organization of CPU, .processor systems design, computer arithmetic, memory system organization and architecture, interfacing and communication, performance, and multiprocessing.

CPE 430 (3) Digital VLSI Design. Prerequisites: EN 212 and CPE 330. This course introduces principles of the design and layout of Very Large Scale Integrated (VLSI) circuits with concentrations on the Complementary Metal-Oxide-Semiconductor (CMOS) technology. Topics include MOS transistor theory and CMOS technology, characterization and performance estimation of CMOS gates. Course projects involve layout designs and simulations using computer-aided design tools.

CPE 431 (3) Digital System Testing and Design for Testability. Prerequisite: CPE 430 or consent of instructor. This course introduces fundamental techniques for detecting defects in VLSI circuits. Topics include fault models, fault detection, and schemes for designing systems to be easily testable and with self-test capability.

CPE 440 (3) Communication Systems. Prerequisites: EN 220 and MATH 355. This course introduces students to analog and digital modulation techniques. Topics include random processes, power spectral density, effects of noise on, and bandwidth requirements of, different modulation schemes.

CPE 441 (3) Computer Networks. Pre-requisite: CPE 312. This course introduces students to network protocols and network architectures. Topics include characteristics and principles related to a Local Area Network (LAN), characteristics and principles related to a Wide Area Network (WAN), and network devices and their relationship with network protocols and architectures. It also provides methods for characterizing and analyzing communication system performance.

CPE 442 (3) Digital Communications: Prerequisite CPE 440. This course introduces the principles of transmission and reception of digital signals, and the design and performance analysis of digital receivers. Topics covered include pulse code modulation (PCM), line coding, modulation schemes, digital multiplexing, optimum detection thresholds, and analysis of communications system in presence of noise, information theory and error correcting codes.

CPEL 442 (1) Digital Communications Laboratory. Co-requisite: CPE 442. This laboratory course includes experiments that validate the concepts covered in CPE 442 Digital Communications. Experiments include modulation and demodulation of AM and FM signals, sampling, matched filtering, generation and detection of ASK, PSK, QPSK and QAM signals, simulation and analysis of a complete digital receiver.

CPE 445 (3) Applied Electromagnetics. Prerequisite: CPE 345. This course introduces to the analysis wave propagations over free space as well as over transmission lines. Furthermore, it discusses the principles of operation and performances of antennas. Topics covered include plane wave propagation, analysis of wave propagation over transmission lines and wave guides, radiation and antennas, introduction to fiber optical and satellite communications.

CPE 446 (3) Wireless Communications. Prerequisite: CPE 440. This course introduces students to signal transmission and reception in wireless communication systems. Topics include understanding of radio channel characteristics, cellular concept, multiple access methods, modulation techniques, diversity and error correcting codes for wireless systems and also wireless communication standards.

CPE 447 (3) Telecommunications Switching and Transmission. Prerequisite: CPE 441. The course introduces students to the telecommunications standards and infrastructure which includes both the switching and transmission components. Topics covered include public switching network hierarchy, various switching methods, the digital transmission hierarchy, transmission media characteristics and applications, and switching and transmission technologies and standards (ATM, ISDN etc.).

CPE 451 (3) Digital Signal Processing. Prerequisite: CPE 351. This course introduces the theory and algorithms for processing deterministic and stochastic signals. Topics include discrete signals, linear filtering; Fast Fourier Transform, nonlinear filtering, spectrum estimation, linear prediction, adaptive filtering, and array signal processing.

CPE 490 (3) Design Project I. Prerequisite: Senior standing, CPE 360 and CPE 330. The course develops student creativity by allowing them to solve real world problems. Students work in teams to develop project proposals for assigned open-ended problems. Moreover, the course emphasizes other design issues including engineering code of conduct, engineering professionalism, ethical decision making, privacy and confidentiality, computer crime, software piracy, design methodology, development of specifications, and evaluation of alternatives. Students are required to make oral presentations and submit written proposal for their projects.

CPE 491 (3) Design Projects II. Prerequisite: CPE 490. In this course students build the projects proposed in CPE 490, Design Projects I. Students perform the design synthesis, construction, testing, and evaluation of their team projects. Topics include engineering professionalism, ethics, and safety. Students make oral presentations and submit final reports documenting their projects.

CPE 492 (1 to 4) Special Studies in Computer Engineering. Pre-requisites: Senior/junior standing in computer engineering and consent of Chair. This course is based on individual projects and problems selected by instructors and individual students. It is open to seniors/juniors in computer engineering only. No more than four credit hours of CPE 492 can be applied towards the degree.

CPE 493 (1 to 4) Special Topics in Computer Engineering. Pre-requisite: Senior/junior standing in computer engineering and consent of Chair. This course includes lectures on recent topics of special interests to students in various areas of computer engineering. It is designed to test new and experimental courses in computer engineering. No more than four credit hours of CPE 493 can be applied towards the degree.