- Topic: Network Flow

- Reading: Chapter 26

- Ford-Fulkerson algorithm
- Karp-Edmonds Algorithms
- Poly-time, pseudo poly-time, and strong poly-time

- Matroids
- Reading: Chaper 17 Greedy algorithms

- Topic: Linear Programming
- Reading: 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

- Writing the diet
problem as a linear program and computing its dual

- Dual of network flow
- Dual of the shortest path problem

- Topic: Average-case analysis, randomized algorithms, and bounding tails of distributions
- Reading: Chapters 5, 7, 11

- Worst case analysis vs. Average case analysis of Quicksort
- Linearity of expectations
- Quicksort
- Coupon Collector
- Min
cut

- Linear time Minimum Spanning Tree
Algorithm (notes)

- Bounding Tails and Union Bounds (Chernoff bounds)
- Analysis of streaks in Bernoulli trials
- Analysis of Quicksort

- Las Vegas vs. Monte Carlo algorithms

- Topic: Problem Complexity, Information Theoretic and Adversarial Lower Bounds
- Reading: Chapter 9
- Time complexity of a problem
- Omega(n log n) sorting lower bound

- Element Uniqueness lower bound

- n-1 lower bound for find the maximum
- 3n/2 lower bound for computing smallest and largest number
- Impossibility of reaching distributed consensus in the asychronous model (reference)
- Yao's technique: randomized lower bound for sorting for Las Vegas algorithms

- Topic: Reductions to prove relative hardness and NP-hardness
- Reduction from 3SAT to vertex cover

- Topic: Fixed Parameter Tractability

- Reading: MIT OpenCourseWare Notes (local copy) or Notes from class taught by David Karger
- Bounded tree search algorithm for vertex cover
- Kernalization algorithm for vertex cover
- Equivalence of kernalization and fixed parameter tractability

- Topic: Approximation algorithms
- Reading: 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 (skipping this semester
due to lack of time)

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

- Topic: Online problems and competitiveness
analysis

- Reading: paper
- Paging, general lower bound and resource augmentation analysis of LRU
- Amortization and potential functions
- Reading: Chapter 17
- multipop
- Counting in binary
- Dynamic tables

- 2-competiveness of Move to Front for List
Update and general 2 lower bound on competitiveness of
deterministic algorithms

- Analysis of Round Robin Scheduling for the objective of minimizing total response time (notes)

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

- Topic: Parallel and Distributed Computing
- Luby's algorithm for maximal independent set in the CONGEST model (reference)

- Topic: Streaming Algorithms (reference)
- Count Min Sketch
- AMS frequency estimation

- Topic: Metric embeddings ?

- Fast Fourier Transform Algorithm