Lecture Topics
This schedule is tentative, subject to change.
1/22 — Introduction and Stable matching I: Gale–Shapley algorithm
Reading: §1.1
Problem Set 1 will be due Thursday, Feb 6 at 11:59pm1/24 — Stable matching II: Analysis of Gale–Shapley
Reading: §1.1
1/27 — Greedy algorithms I: Interval Scheduling
Reading: §4.1 (suggested reading: §4.2)
1/29 — Greedy algorithms II: Minimum Spanning Tree
Reading: §4.5
1/31 — Greedy algorithms III: Huffman Codes and Data Compression
Reading: §4.8
2/3 — Dynamic programming I: Weighted Interval Scheduling,
Reading: §6.1
2/5 — Dynamic programming II: Segmented Least Squares
Reading: §6.3
Problem Set 2 due Thursday, Feb 13, 11:59pm2/7 — Dynamic programming III: Sequence Alignment
Reading: §6.6
2/10 — Dynamic programming IV: Shortest path in a graph I
Reading: §6.8
2/12 — Dynamic programming V: Shortest path in a graph II
Reading: §6.8
Problem Set 3 due Saturday, Feb 29 11:59pm
2/14 — Divide and Conquer I: Multiplying Integers
Reading: §5.5
2/17 — Divide and Conquer II ; Randomized Algorithms I: Median Finding
Reading: §13.5
2/19, Prelim 1 (in class)
2/21 —
Probability applied to randomized algorithms recitation
2/24, Feb break, no lecture
2/26 —
Randomized Algorithms II: Hashing: A randomized dictionary
Reading: §13.6
Problem Set 4 due Thursday, Mar 5, 11:59pm2/28 — Randomized Algorithms III: Universal Hashing II
Reading: §13.6
3/2 — Randomized Algorithms IV: Prime testing
Reading: Supplementary Notes
3/4 — Randomized Algorithms IV: Prime testing continued.
Reading: Supplementary Notes
Problem Set 5 due Thursday, Apr 9 11:59pm3/6 — Network Flow I: Definition and Ford-Fulkerson Algorithm
Reading: §7.1
3/9 — Network Flow II: Max-Flow running time and Cut capacities
Reading: §7.2
3/11 — Network Flow III: Max-Flow=Min-Cut and an Application
Reading: §7.2, 7.53/13 — Network Flow IV: More Applications to Max-Flow
Reading: §7.5Cancelled — Network Flow V: Applications to Min-Cuts
Reading: §7.114/6 — NP-Completeness I: Introduction to Hardness Reductions
Reading: §8.1
4/8 —
NP-Completeness II: Independent Set and Vertex Cover
Reading: §8.1
4/10 —
NP-Completeness III: 3SAT
Reading: §8.2
4/13 —
NP-Completeness IV: P vs NP
Reading: §8.3
4/15 —
NP-Completeness V: More NP Completeness
Reading: §8.4
4/15 10:00AM -4/18 11:59AM, Prelim 2 (Take-home)
Problem Set 6 due Thursday, Apr 23 11:59pm
4/20 —
NP-Completeness VI: Sequencing Problems
Reading: §8.5
4/22 — NP-Completeness VII: Co-NP
Reading: §8.94/24 — Computability Theory I: SJava, a simple model of computation and the Halting Problem
Reading: Lecture Notes on Computability §1-5 Problem Set 7 due Thursday, Apr 30 11:59pm4/27 — Computability Theory II: Undecidability via reduction
Reading: Lecture Notes on Computability §74/29 — Computability Theory III: Diagonalization and Undecidability of the Halting Problem
Reading: Lecture Notes on Computability §65/1 — Computability Theory IV: Turing Machines (Optional guest lecture)
Reading: Lecture Notes on Computability §10 Problem Set 8 due Thursday, May 7 11:59pm5/4 — 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
5/6 — Approximation Algorithms II: Using Linear Programming
Reading: §11.6