Teaching

  • Spring 2022: Theory of Machine Learning. (CS 5966/6966) The course goes in depth into the theoretical foundations of machine learning. We will study concepts like generalization (why ML algorithms work on unseen data), analyze optimization algorithms (GD, SGD), and look at some recent developments in ML theory. [Link to the course webpage]

  • Fall 2021: Graduate Algorithms. (CS 5150/6150) This is an introductory algorithms class for graduate students. Students are expected to have done an undergrad level data structures/algorithms class, and are expected to be comfortable with probability and discrete mathematics. [Link to the course webpage].

    Here is a link to an older version with a link to course content, lecture notes and lecture videos: Fall 2019 homepage.

  • Spring 2021: Probability and Statistics for Engineers. (CS 3130) The course introduces the basic concepts of probability theory and statistics, such as conditional probability, random variables, the central limit theorem, statistical inference and hypothesis testing. [Link to the course webpage]

  • Fall 2016-20: Graduate Algorithms (CS 5150/6150)

  • Spring 2020: Probability and Statistics for Engineers (CS 3130)

  • Spring 2017: Theory of Machine Learning (CS 5966/6966) [Link to the course webpage]

  • Spring 2016: Techniques in Algorithms and Approximation. (CS 5968/6968) This is a graduate level course covering approximation algorithms, spectral methods, hardness, etc. It is accessible to students comfortable with the material in Graduate Algorithms (CS 6150). [Link to the course webpage]

  • Fall 2016: ML Seminar: Large scale machine learning. This seminar will cover some of the recent developments in large scale machine learning, including distributed optimization, lock-free methods and their analysis, ADMM, and the like. [Link to the course webpage]