Teaching
CS 294: Algorithmic Aspects of Machine Learning, Fall 2024@Berkeley
Graduate course on modern algorithmic approaches in machine learning
See the course webpage here
18.200: Principles of Discrete Applied Mathematics, Spring 2024
Undergraduate course on discrete math and proof writing co-taught with Peter Shor
See the course webpage here
6.C06/18.C06: Linear Algebra and Optimization, Fall 2023
Undergraduate course on linear algebra and optimization co-taught with Pablo Parrilo
See the course webpage here
18.408: Algorithmic Aspects of Machine Learning, Spring 2023
Graduate course on modern algorithmic approaches in machine learning
See the course webpage here
6.S084/18.061: Linear Algebra and Optimization, Fall 2022
Undergraduate course on linear algebra and optimization co-taught with Pablo Parrilo
See the course webpage here
18.200: Principles of Discrete Applied Mathematics, Spring 2022
Undergraduate course on discrete math and proof writing co-taught with Michel Goemans
See the course webpage here
6.S084/18.061: Linear Algebra and Optimization, Fall 2021
Undergraduate course on linear algebra and optimization co-taught with Pablo Parrilo
See the course webpage here
18.408: Theoretical Foundations for Deep Learning, Spring 2021
Graduate course on theoretical foundations, and open questions, in deep learning
See the course webpage here
6.S084/18.S096: Linear Algebra and Optimization, Fall 2020
New undergraduate course on linear algebra and optimization co-taught with Pablo Parrilo
See the course webpage here
6.042/18.062: Mathematics for Computer Science, Fall 2019
Undergraduate course on discrete math and probability co-taught with Zachary Abel and Ronitt Rubinfeld
See the course webpage here
6.042/18.062: Mathematics for Computer Science, Fall 2018
Undergraduate course on discrete math and probability co-taught with Tom Leighton
See the course webpage here
18.200: Principles of Discrete Applied Mathematics, Spring 2018
Undergraduate course on discrete math and proof writing co-taught with Michel Goemans
See the course webpage here
18.408: Algorithmic Aspects of Machine Learning, Fall 2017
Graduate course on modern algorithmic approaches in machine learning
See the course webpage here
6.042/18.062: Mathematics for Computer Science, Fall 2016
Undergraduate course on discrete math and probability co-taught with Tom Leighton
See the course webpage here
6.854/18.415J: Advanced Algorithms, Spring 2016
Graduate course on advanced topics in algorithms
See the course webpage here
18.200: Principles of Discrete Applied Mathematics, Fall 2015
Undergraduate course on discrete math and proof writing co-taught with Peter Shor
See the course webpage here
18.409: Algorithmic Aspects of Machine Learning, Spring 2015
Redesigned graduate course on modern algorithmic approaches in machine learning
See the course webpage here
6.042/18.062: Mathematics for Computer Science, Fall 2014
Undergraduate course on discrete math and probability co-taught with Tom Leighton
See the course webpage here
18.434: Seminar in Theoretical Computer Science, Spring 2014
Undergraduate seminar on polytopes and optimization
See the course webpage here
18.S996: Algorithmic Aspects of Machine Learning, Fall 2013
New graduate course on modern algorithmic approaches in machine learning
See the course webpage here
The Math Behind the Machine, Summer 2013
Summer course for high school students introducing them to theoretical computer science
Taught at Rutgers University through the New Jersey Governor's School