Teaching

I have taught courses at both the graduate and undergraduate level. Including Fall 2025, I will have taught “EECS 445: Introduction to Machine Learning,” an upper-level elective with the equivalent of 12 sections, reaching nearly 2,000 students. This is a rigorous hands-on introduction to ML. Most recently in F24, I led an overhaul of EECS 445, as the field of ML is rapidly advancing, and the course content needed to reflect that. Specifically, in collaboration with the three other instructors, we have added content related to autoencoders, pretraining and transfer learning, attention, transformers, bias and fairness in ML, gradient boosting, variational autoencoders, generative adversarial networks and deep RL. With each offering of EECS 445, I work to inject insights from my research in ML. Below is a list of courses I have taught at the University of Michigan.
Course Number Course Title Semester
EECS 598 Practical Machine Learning F14
EECS 445 Introduction to Machine Learning W15
EECS 203 Discrete Mathematics F16
EECS 445 Introduction to Machine Learning W16
EECS 445 Introduction to Machine Learning W17
EECS 445 Introduction to Machine Learning W17
EECS 445 Introduction to Machine Learning F17
EECS 445 Introduction to Machine Learning F18
EECS 445 Introduction to Machine Learning W21
EECS 445 Introduction to Machine Learning F21
EECS 445 Introduction to Machine Learning F24