- Average-case analysis, randomized algorithms
- Average case analysis of Quicksort via linearity of expectations (CLRS Chapters 5 and 7)
- Karger's randomized min cut algorithm (Wikipedia)
- Randomized linear time minimum spanning tree algorithm (Wikipedia)
- Las Vegas vs. Monte Carlo algorithms (Wikipedia Las Vegas, Wikipedia Monte Carlo)
- High probability analysis of quicksort via union and tail bounds (Lecture notes Wikipedia Chernoff bounds)

- Topic: Network Flow
- Reading: Chapter 26

- Ford-Fulkerson algorithm

- Karp-Edmonds Algorithms
- Poly-time, pseudo poly-time, and strong poly-time
- Preflow Push (Push Relabel) algorithm

- Gormory-Hu trees (lecture notes, wikipedia)

- Topic: Linear Programming
- Reading: CLRS Chapter 29

- Writing network flow as a linear program
- Writing shortest path as a linear program
- Simplex greedy algorithm vs. divide and conquer interior point methods
- Weak duality, complementary slackness and
statement of strong duality

- Dual of maximum cardinality matching

- Dual of network flow
- Dual of shortest path

- Matroids

- Max/Min weight independent set greedy
algorithm (CLRS Chapter 17)

- Matroid intersection (lecture
notes)

- Weighted bipartite matching / maximum
weight independent set in the intersection of two
partition matroids

- Topic: Approximation algorithms
- Reading: CLRS Chapter 35
- Vertex Cover using
maximal matching lower bound

- 2 approximations for Traveling Salesman
- Christofides 3/2 approximation for Traveling Salesman
- Gap reductions for TSP with and without triangle inequality to prove non-approximatability
- Maximum weight vertex cover using linear
programming lower bound

- Greedy weighted set cover using dual
feasible solution as a lower bound

- Randomized 2 approximation for MAXSAT, and derandomization using method of conditional expectations
- Pseudo-poly time dynamic program and PTAS for knapsack

- Topic: Problem Complexity, Information Theoretic and Adversarial Lower Bounds
- Reading: Chapter 9
- Lower bounding worst case and
average case time complexity of a deterministic
algorithm and time for a Las Vegas algorithm

- Lower bounding worst-case and
average-case deterministic time complexity of a problem

- n-1 lower bound for find the maximum
- 3n/2 lower bound for computing smallest and largest number
- Two person zero sum games and Yao's technique: randomized problem lower bounds for Las Vegas algorithms
- Topic: Online problems and competitiveness
analysis

- Reading: paper
- Paging
- upper bound and resource augmentation analysis of LRU
- Adversarial lower bound

- Randomized lower bound using Yao's
technique

- List Update
- 2-competiveness of Move to Front for List Update via potential function
- Adversarial lower bound

- Topic: Fixed Parameter Tractability

- Reading: (
Lecture notes )

- Bounded tree search algorithm for vertex cover
- Kernalization algorithm for vertex cover
- Equivalence of kernalization and fixed parameter tractability
- Hardness of dominating set via parameterized
reduction from clique (Lecture
notes)

- Topic: Online Learning From Experts and Regret Analysis
of online problems

- Topic: Parallel and Distributed Computing

- Topic: Streaming Algorithms

- Count Min Sketch (notes)

- AMS frequency estimation

- Fast Fourier Transform polynomial
multiplication Algorithm