Teaching

CSE 421 Introduction to Algorithms

Winter 2022

This course covers a range of design and analysis techniques including greedy methods, divide and conquer, and dynamic programming. It also discusses the maximum flow problem and NP-completeness.

CSE 535 Theory of Optimization and Continuous Algorithms

Spring 2021

This course covers several concepts in convex optimization, including, elimination, reduction, geometrization, sparsification, acceleration, and decomposition.

CSE 599 Sketching Algorithms

Winter 2021

This course covers several concepts in sketching and sub-linear space algorithms.

CSE 535 Theory of Optimization and Continuous Algorithms

Winter 2020

This course covers several concepts in convex optimization, including, elimination, reduction, geometrization, sparsification, acceleration, and decomposition.

CSE 535 Theory of Optimization and Continuous Algorithms

Winter 2019

This course covers several concepts in convex optimization, including, elimination, reduction, geometrization, sparsification, and acceleration.

CSE 421 Introduction to Algorithms

Autumn 2018

This course covers a range of design and analysis techniques including greedy methods, divide and conquer, and dynamic programming. It also discusses the maximum flow problem and NP-completeness.

CSE 421 Introduction to Algorithms

Spring 2018

This course covers a range of design and analysis techniques including greedy methods, divide and conquer, and dynamic programming. It also discusses the maximum flow problem and NP-completeness.

CSE 599 Interplay between Convex Optimization and Geometry

Winter 2018

This course covers several frameworks for convex optimization, including, first-order methods, cutting plane methods and interior point methods.