Courses I have taught at UC Berkeley, most recent first. Each course website has the full materials for that offering.
CS 189/289A: Introduction to Machine Learning
A large upper-division and graduate course covering foundational and modern machine learning, from probability, regression and optimization to neural networks, transformers and generative models. Co-taught with Narges Norouzi.
Data 100: Principles and Techniques of Data Science
An intermediate data science course that I co-created, bridging Data 8 and upper-division courses in computer science and statistics. It covers question formulation, data cleaning, visualization, statistical inference and machine learning on real-world data, and enrolls more than 1,000 students from across campus each semester.
CS 294-162: AI Systems Graduate Seminar
A graduate seminar on machine learning and AI systems research that combines paper reading, structured discussion and class projects. The Fall 2023 offering focused on large language models and the systems that support them.
Data 8: Foundations of Data Science
Berkeley's large introductory data science course, which combines computational thinking, inferential thinking and analysis of real-world data.
CS 198-100: Conversations with Thought Leaders in Technology
An interactive seminar, created during the COVID-19 pandemic and co-hosted with Vik Singh, in which students wrote and voted on questions for live conversations with technology and venture capital leaders about their careers and the lessons they learned.
CS 294-20: RISELab Seminar
A research seminar for the newly formed RISELab, reading and discussing papers on learning systems, big data systems and systems security.
CS 186: Introduction to Database Systems
A co-taught course of more than 500 students, for which I helped update the material and created new lectures on topics where databases and data science meet.