Sample Courses

ECE360 – Electronics

Continued progress in electronics has become a defining characteristic of the past several decades. Already acquainted with the basics of voltage and current, this course provides students a first glimpse at amplifiers and transistors – the fundamental building blocks of most every modern piece of electronics. A combination of in-class and laboratory work provides both analytical and hands-on skills.

ECE355 – Signal Analysis and Communications

Efficient information processing is a core requirement of any complex engineering system. This course develops a mathematical framework for such analysis by introducing two key concepts: signals and systems. We illustrate how diverse areas can be analyzed in the common framework of linear time invariant (LTI) systems. We explain why such systems are more naturally treated in the transform domain rather than time domain and introduce the theory of Fourier transforms. The application of these techniques to communication systems is treated in detail. Within the ECE curriculum this course is an important foundation for digital signal processing (DSP), systems control, multimedia systems and statistical signal processing.

ECE356 – Linear Systems and Control

This is the first control design course taken by Engineering Science students, building on mathematics learned in the first two years. A control system is a dynamical system that operates on the fundamental paradigm of the feedback loop. The goal of a control system design is to obtain a desired dynamic response despite the presence of disturbances. Feedback loops are ubiquitous in biological systems. In the first half of the course, students learn the fundamentals of modeling and stability analysis of control systems. In the second half, the most important design methods are taught.

ECE352 – Computer Organization

The world today works because of computing technology. Most of us carry several processors with us all of the time in our cell phones, our watches, personal games and other mobile devices. Computer Organization is about the internal structures of computing systems, how they compute, and how they are interfaced to the physical world. This course is an important foundation for subsequent studies in hardware and software, such as Computer Architecture, Digital Systems Design, Computer Security, Operating Systems, Optimizing Compilers and Computer Systems Programming.

ECE358 – Foundations of Computing

There are a lot of hard problems out there that people want to solve: allocate jobs to processors to minimize the total processing time, work out the maximum amount of data that can be sent from one location to another on a network, schedule exams to use as few rooms as possible and avoid conflicts, etc. In this course, we study advanced algorithm design techniques that can be used to solve some of these problems (greedy algorithms, dynamic programming, network flows, linear programming), tools to prove that some of these problems do not have efficient solutions (NP-hardness, polynomial time self-reducibility), and heuristic techniques to deal with NP-hard problems (approximation algorithms, randomization).

ECE455 – Digital Signal Processing

This course provides an overview of sampling and discrete-time signals in one or more dimensions; linear shift-invariant systems; the Z-transform; the discrete-time Fourier transform; the discrete Fourier transform and computationally efficient implementations (fast Fourier transforms); general orthogonal representations; wavelet bases; discrete-time filters: finite and infinite impulse response filters; fixed-point implementations and finite word-length effects; multidimensional filters and multidimensional signal processing.  Illustrative applications are drawn from audio and biomedical signal processing, communication systems, and image and video signal processing.