Lecture Topics
This schedule is tentative, subject to change
8/30 — Introduction and Stable matching I: Gale–Shapley algorithm
Reading: §1.1
Problem Set 1 will be due Thursday, Sept 12th at 11:59pm9/2 — Labor Day, no class
9/4 — Stable matching II: Analysis of Gale–Shapley
Reading: §1.1
9/6 — Greedy algorithms I: Interval Scheduling
Reading: §4.1 (suggested reading: §4.2)
Problem Set 1 due Thursday, Sept 12th 11:59pm9/9 — Greedy algorithms II: Minimum Spanning Tree
Reading: §4.5
9/11 — Greedy algorithms III: Huffman Codes and Data Compression
Reading: §4.8
9/13 — Dynamic programming I: Weighted Interval Scheduling,
Reading: §6.1
Problem Set 2 due Thursday, Sept 19th 11:59pm9/16 — Dynamic programming II: Segmented Least Squares
Reading: §6.3
9/18 — Dynamic programming III: Sequence Alignment
Reading: §6.6
9/20 — Dynamic programming IV: Shortest path in a graph I
Reading: §6.8
Problem Set 3 due Thursday, Sept 26th 11:59pm9/23 — Dynamic programming V: Shortest path in a graph II
Reading: §6.8
9/25 — Divide and Conquer I: Multiplying Integers
Reading: §5.5
9/27 — Divide and Conquer II ; Randomized Algorithms I: Median Finding
Reading: §13.5
Problem Set 4 due Tuesday, Oct 8th 11:59pm no late days9/30 — Randomized Algorithms II: Hashing: A randomized dictionary
Reading: §13.6
10/2 — Randomized Algorithms III: Universal Hashing II
Reading: §13.6
10/4 — Divide and Conquer III: Fast Fourier Transform
Reading: §5.6
10/7 — Randomized Algorithms IV: Prime testing
Reading: Supplementary Notes
10/9 — Randomized Algorithms IV: Prime testing continued.
Reading: Supplementary Notes
10/11 — Network Flow I: Definition and Ford-Fulkerson Algorithm
Reading: §7.1
10/14 —
Fall Break, no class
10/16 — Review for Prelim 1
10/18 — Network Flow II: Max-Flow running time and Cut capacities
Reading: §7.2
Problem Set 5 due Thursday, Oct 24th 11:59pm10/21 — Network Flow III: Max-Flow=Min-Cut and an Application
Reading: §7.2, 7.510/23 — Network Flow IV: More Applications to Max-Flow
Reading: §7.5, 7.610/25 — Network Flow V: Applications to Min-Cuts
Reading: §7.11 Problem Set 6 due Thursday, Oct 31st 11:59pm10/28 — NP-Completeness I: Introduction to Hardness Reductions, P and NP, and First Reductions
Reading: §8.1, 8.310/30 — NP-Completeness II: NP, NP-complete, SAT as an NP-complete problem
Reading: §8.2, 8.411/1 — NP-Completeness III: Independent set is NP-complete
Reading: §8.2 Problem Set 7 due Thursday, Nov 7th 11:59pm no late days11/4 — NP-Completeness IV: Graph Coloring
Reading: §8.711/6 — NP-Completeness V: Sequencing problems
Reading: §8.511/8 — NP, co-NP, and other complexity classes:
Reading: §8.911/11 — Review for Prelim 2
11/13 — Computability Theory I: SJava, a simple model of computation and the Halting Problem
Reading: Lecture Notes on Computability §1-511/15 — Computability Theory II: Undecidability via reduction
Reading: Lecture Notes on Computability §7 Problem Set 8 due Thursday, Nov 21st 11:59pm11/18 — Computability Theory III: Diagonalization and Undecidability of the Halting Problem
Reading: Lecture Notes on Computability §611/20 — Computability Theory IV: Turing Machines
Reading: Lecture Notes on Computability §1011/22 — Approximation Algorithms I: Greedy Algorithms
Reading: Introduction to Chapter §11, Notes for Greedy Approximation Algorithms for Knapsack and see also §6.4 and 8.8
11/25 — Approximation Algorithms II: Using Linear Programming
Reading: §11.6
Problem Set 9 due Thursday, Dec 5th 11:59pm