# 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