# Courses

###
I have taught various Algorithms courses at IISc over the past several years. Some of the material from these courses appears below.

- Recursion, Sorting, Merging, Crossing Lists and Arrays, Median Finding, DFS, BFS, Fractional Cascading

- Amortization, F-Heaps, Union-Finds

- Randomization

- EigenValues, EigenVectors and Principle Components

- Using Complex Numbers, Multipying Polynomials, Fourier Transforms

- The Turnpike Problem

- The Mahler Measure of a Polynomial

- Min Cuts and Disjoint Paths in Graphs

- Edmond's Arborescences and Edge Splitting

- Steiner Cuts, Gomory-Hu Trees, and Edge Splitting

- Linear Programs, Lagrangians, Duality

- Network Construction via LPs

- Max-Cut Algorithms

- Polynomial Factoring

- Finding Short Lattice Vectors: The LLL Basis Reduction Algorithm

- Sparsest Cut, presenter: Debmalya Panigrahi

- Random Projections

- Embedding Graph Metrics: Lower Bounds

- Embedding Graph Metrics: Upper Bounds

- Support Vector Machines

- Benczur-Karger Sparsification while Preserving Cuts via Sampling

- Sparsification for Cuts using Connectivity, Conductivity and NI Indices

- Lecture Notes of "Cuts, Flows and Linear Equations", jointly taught with Nisheeth Vishnoi

- High Dimensional Spaces: Volumes and the Johnson-Lindenstrauss Theorem

- High Dimensional Spaces (Contd): Generating Spherically Symmetric Vectors and Gaussians

- Random Walks in Markov Chains Part I
* (created with Raindrops)*

- Random Walks in Markov Chains Part II
* *

- Some Streaming Algorithms
* *

- Sampling for Massive Matrices
* *

- Compressed Sensing
* *

*(created with Raindrops)*