At Princeton University
 Fall 2021: ORF 526 (Probability Theory)
 Fall 2020: ORF 526 (Probability Theory)
 Fall 2019: ORF 526 (Probability Theory)
 Fall 2018: ORF 526 (Probability Theory)
 Fall 2017: ORF 526 (Probability Theory)
Graduate minicourse, designed together with Sébastien Bubeck.

I taught this course twice during the Summer of 2016:
 June 6  10, 2016: University of Washington; approx. 30 graduate students from a variety of departments (mathematics, statistics, CS, EE).
 July 4  8, 2016: XX Brazilian School of Probability; approx. 100 in attendance.
 Course webpage
 Lecture notes
Undergraduate teaching
At Princeton University
 Spring 2022: ORF 387 (Networks)
 Spring 2021: ORF 387 (Networks)
 Spring 2020: ORF 387 (Networks)
 Spring 2019: ORF 350 (Analysis of Big Data)
 Spring 2018: ORF 309 (Probability and Stochastic Systems)
 Spring 2014: Stat 150 (Stochastic Processes)
 Spring 2013: Stat 155 (Game Theory)
 Summer 2011: Stat W21 (Introductory Statistics)
 Fall 2009: Calculus 1 for civil engineer students
 Spring 2009: Calculus 2 for civil engineer students
 Fall 2008: Calculus 1 for civil engineer students
K12 teaching
Berkeley Math Circle
 2011  2015: I volunteered as a mathematics teacher and held problemsolving sessions for talented youth at the elementary, middle, and high school level. I designed several problem sets, with topics including probability games and graph theory.
 Spring 2014: I volunteered as a mathematics teacher and held problemsolving sessions for talented middle school students. The sessions were on probability games, based on problem sets that I designed.