Teaching

ELEC 301x | Discrete Time Signals and Systems (edX MOOC)

Enter the world of signal processing: analyze and extract meaning from the signals around us!

Technological innovations have revolutionized the way we view and interact with the world around us. Editing a photo, re-mixing a song, automatically measuring and adjusting chemical concentrations in a tank: each of these tasks requires real-world data to be captured by a computer and then manipulated digitally to extract the salient information. Ever wonder how signals from the physical world are sampled, stored, and processed without losing the information required to make predictions and extract meaning from the data? Students will find out in this rigorous mathematical introduction to the engineering field of signal processing: the study of signals and systems that extract information from the world around us. This course will teach students to analyze discrete-time signals and systems in both the time and frequency domains. Students will learn convolution, discrete Fourier transforms, the z-transform, and digital filtering. Students will apply these concepts to build a digital audio synthesizer in MATLAB. Prerequisites include strong problem solving skills, the ability to understand mathematical representations of physical systems, and advanced mathematical background (one-dimensional integration, matrices, vectors, basic linear algebra, imaginary numbers, and sum and series notation). This course is an excerpt from an advanced undergraduate class at Rice University taught to all electrical and computer engineering majors.

ELEC378 | Machine Learning: Concepts & Techniques (Rice University)

Machine learning is a powerful new way to build signal processing models and systems using data rather than physics. This introductory course covers the key ideas, algorithms, and implementations of both classical and modern methods. Topics include supervised and unsupervised learning, optimization, linear regression, logistic regression, support vector machines, deep neural networks, clustering, data mining. A course highlight is a hands-on team project competition using real-world data.

ELEC 301 | Signals, Systems, and Learning (Rice University until 2022)

This course introduces the notion of signal processing, and deals with signals, systems, and transforms, from their theoretical mathematical foundations to practical implementation in circuits, computer software and hardware. It also introduces the foundations of machine learning, including supervised and unsupervised learning, regression, and classification. ELEC 301 acts as a bridge between the introductory ELEC 241/2 and more advanced courses such as ELEC 302, 303, 430, 431, 437, 439, 475.

ELEC 631 | Advanced Machine Learning (Rice University)

Topics rotate from year to year.