UBC Courses
- 2022-23 Winter Term 2: Introduction to Randomized Algorithms (CPSC 436R)
- 2022-23 Winter Term 1: Introduction to Theory of Computing (CPSC 421)
- 2021-22 Winter Term 2: Randomized Algorithms (CPSC 536N)
- 2021-22 Winter Term 1: Introduction to Randomized Algorithms (CPSC 436R)
- 2020-21 Winter Term 1: Advanced Algorithm Design and Analysis (CPSC 420)
- 2019-20 Winter Term 2: Intermediate Algorithm Analysis and Design (CPSC 320), two sections
- 2019-20 Winter Term 1: Not Teaching
- 2018-19 Winter Term 2: Topics in Algorithms and Complexity: Linear Algebra Problems (CPSC 536J)
- 2018-19 Winter Term 1: Introduction to Theory of Computing (CPSC 421/501)
- 2018-19 Winter Term 1: Machine Learning Theory (CPSC 531H)
- 2017-18 Winter Term 2: Sabbatical
- 2017-18 Winter Term 1: Sabbatical
- 2016-17 Winter Term 2: Algorithms That Matter (CPSC 536N)
- 2016-17 Winter Term 1: Introduction to Theory of Computing (CPSC 421/501)
- 2016 Summer Term 1: Intermediate Algorithm Analysis and Design (CPSC 320)
- 2015-16 Winter Term 2: Not Teaching
- 2015-16 Winter Term 1: Not Teaching
- 2015 Summer Term 1: Intermediate Algorithm Analysis and Design (CPSC 320)
- 2014-15 Winter Term 2: Randomized Algorithms (CPSC 536N)
- 2014-15 Winter Term 1: Not Teaching
- 2014 Summer Term 1: Basic Algorithms and Data Structures (CPSC 221)
- 2013-14 Winter Term 2: Machine Learning Theory (CPSC 531H)
- 2013-14 Winter Term 1: Introduction to Theory of Computing (CPSC 421/501)
- 2012-13 Winter Term 2: Sparse Approximations (CPSC 536N)
- 2012-13 Winter Term 1: Introduction to Theory of Computing (CPSC 421/501)
- 2011-12 Winter Term 2: Randomized Algorithms (CPSC 536N)
University of Waterloo Courses
- Winter 2011: Randomized Algorithms (CO 750)
- Fall 2010: Mathematical Optimization (CO 355)
- Winter 2010: Network Flow Theory (CO 351)
- Fall 2009: Mathematical Optimization (CO 355)