Teaching

I teach a variety of courses in EECS, ranging from undergraduate signals and systems to graduate topics in information theory and machine learning.

Course Catalog

Teaching History

2026 Spring
194/294/290SSpecial Topics Course. Topics vary every term. See comments per semester.
Taught with Prof. Jiao

Major new special course connecting theory to AI Systems and modern tooling like Nemo, vLLM, etc. on multi-node multi-GPU machines. We secured a very generous compute donation for this course so that students can explore at scale.

2025 Fall
182/282ADeep Learning
Taught with Prof. Ranade

Major upgrades: covered Muon, muP, and a unified optimization perspective. Deeper state-space modeling and hybrid attention. Fuller RLVR treatment leading to improved RLHF treatment including DPO.

2025 Spring
182/282ADeep Learning

Significant upgrades: added modern state-space models; and unified DDIM/DDPM treatment in diffusion.

2024 Spring
194/294/290SSpecial Topics Course. Topics vary every term. See comments per semester.

Research project oriented course on in-context learning.

226AStochastic Processes
2023 Fall
182/282ADeep Learning
2023 Spring
182/282ADeep Learning

Continuing upgrades to course: brought in some RLHF

2022 Fall
182/282ADeep Learning

Major upgrade to course: brought in GNNs and Diffusion Models

2021 Fall
16bDesigning Information Devices and Systems II
Taught with Prof. Stojanovic

Fully stabilized the materials in a unified way

2020 Fall
189/289AIntroduction to Machine Learning
Taught with Profs. Malik and Listgarten

Upgrades to materials --- introduced many more computational visualizations leveraging the one-dimensional functional case, a full treatment of overparameterization, and MAML

2020 Spring
70Discrete Math and Probability for EECS students
Taught with Prof. Ayazifar

Covid strikes! Framing update: changed the material on stable matchings to no longer use gender-based stable marriage and instead think about matching people to jobs. Easy payoff in terms of inclusion with no substantive loss in clarity. (Even if it made obsolete this silly video by former students in the class)

2019 Fall
16bDesigning Information Devices and Systems II

Consolidation of course material

2019 Spring
16bDesigning Information Devices and Systems II
Taught with Profs. Pister and Roychowdhury

Critical materials building/updating semester

2018 Fall
194/294/290SSpecial Topics Course. Topics vary every term. See comments per semester.

Machine learning for sequential decision making under uncertainty. Included regret, bandits, RL, etc. Cotaught with my then student Vidya Muthukumar who is now a Prof at Georgia Tech.

2018 Spring
189/289AIntroduction to Machine Learning
Taught with Prof. Jennifer Listgarten
2017 Fall
16aDesigning Information Devices and Systems I
Taught with Prof. Alon

I was just helping out Elad Alon. I gave a bunch of the lectures, but nothing else really.

189/289AIntroduction to Machine Learning
Taught with Prof. Stella Yu
2017 Spring
194/294/290SSpecial Topics Course. Topics vary every term. See comments per semester.

Collaborative Intelligent Agents. Inspired by the DARPA Spectrum Collaboration Challenge.

2016 Spring
16bDesigning Information Devices and Systems II
Taught with Prof. Maharbiz

This was the second semester of the course, and the first time it had been offered at scale to about 550 students. A lot of material had to be developed.

2015 Fall
16aDesigning Information Devices and Systems I
Taught with Prof. Niknejad

This was the second semester of the course, and the first time it had been offered at scale to about 550 students.

2014 Fall
70Discrete Math and Probability for EECS students

A fun semester. We actually managed to give voluntary oral exams to more than 500 students.

2014 Spring
70Discrete Math and Probability for EECS students
2013 Fall
121Digital Communication: undergrad version. Cource covering coding, modulation, equalization, etc.

An offering in which we upgraded the material --- adding a more hands-on laboratory component using student laptops to do audio-based digital communication, as well as having much more material on the diverse uses of error-correcting codes beyond traditional point-to-point digital communication.

2013 Spring
70Discrete Math and Probability for EECS students
2012 Fall
126Probability and Stochastic Processes
2012 Spring
224BWireless Communication: fading, channels, diversity, modulation, CDMA, OFDMA, etc.
2011 Fall
126Probability and Stochastic Processes
301How to be a good GSI: practical teaching instruction
2010 Spring
121Digital Communication: undergrad version. Cource covering coding, modulation, equalization, etc.
298Graduate NET/COM/DSP Seminar Series
2009 Fall
126Probability and Stochastic Processes
298Graduate NET/COM/DSP Seminar Series
2009 Spring
121Digital Communication: undergrad version. Cource covering coding, modulation, equalization, etc.
298Graduate NET/COM/DSP Seminar Series
2008 Fall
70Discrete Math and Probability for EECS students
Taught with Prof. Papadimitriou

A special semester where we explored upgrades to the course while teaching two sections: a regular one and a special honors one with the expanded material. The expanded section moved to two discussion sections per week and also tried out having two two hour lectures instead of two one-and-a-half hour lectures.

194/294/290SSpecial Topics Course. Topics vary every term. See comments per semester.
Taught with Prof. Tse

Network Information Flow: a look at multiuser information theory through simplified deterministic models designed to illustrate the key effects that occur in the multiuser setting. We move from wireline to deterministic wireless to wireless as we augment our models to be closer to reality.

298Graduate NET/COM/DSP Seminar Series
2008 Spring
229AInformation Theory. I tend to focus on the point-to-point setting in detail including lossy/lossless source-coding, channel-coding, error-exponents, and time-varying sources/channels.
298Graduate NET/COM/DSP Seminar Series
301How to be a good GSI: practical teaching instruction
2007 Fall
224ADigital Communication: Broad course covering coding, modulation, quantization, equalization, etc.
298Graduate NET/COM/DSP Seminar Series
2007 Spring
123Discrete-time Signal Processing (DSP)
298Graduate NET/COM/DSP Seminar Series
301How to be a good GSI: practical teaching instruction
2006 Fall
194/294/290SSpecial Topics Course. Topics vary every term. See comments per semester.
Taught with Prof. Gastpar

Focus on feedback and different non-probabilistic approaches to uncertainty: universal coding, compound channels, AVCs, and individual sequences

298Graduate NET/COM/DSP Seminar Series
2006 Spring
229AInformation Theory. I tend to focus on the point-to-point setting in detail including lossy/lossless source-coding, channel-coding, error-exponents, and time-varying sources/channels.
298Graduate NET/COM/DSP Seminar Series
2005 Fall
126Probability and Stochastic Processes
298Graduate NET/COM/DSP Seminar Series
2005 Spring
126Probability and Stochastic Processes
298Graduate NET/COM/DSP Seminar Series
2004 Fall
194/294/290SSpecial Topics Course. Topics vary every term. See comments per semester.
Taught with Prof. Gastpar

Focus on multiuser theory, feedback, and the intersection of control and information theory.

298Graduate NET/COM/DSP Seminar Series
2004 Spring
229AInformation Theory. I tend to focus on the point-to-point setting in detail including lossy/lossless source-coding, channel-coding, error-exponents, and time-varying sources/channels.
298Graduate NET/COM/DSP Seminar Series
2003 Fall
120Signals and Systems
298Graduate NET/COM/DSP Seminar Series
2003 Spring
224ADigital Communication: Broad course covering coding, modulation, quantization, equalization, etc.
298Graduate NET/COM/DSP Seminar Series
2002 Fall
226AStochastic Processes
298Graduate NET/COM/DSP Seminar Series
2002 Spring
126Probability and Stochastic Processes