Homework 1 | released on 1/15 | due on |
Homework 2 | released on 1/22 | due on 1/29 |
Homework 3 | released on 1/29 | due on 2/5 |
Homework 4 | released on 2/5 | due on 2/12 |
Homework 5 | released on 2/12 | due on 2/26 |
Homework 6 | released on 2/26 | due on 3/5 |
Homework 7 | released on |
due on |
Homework 8 | released on 3/19 | due on 3/26 |
Homework 9 | released on 3/26 | due on 4/2 |
Homework 10 | released on 4/2 | due on |
Homework 11 | released on |
due on 4/25 |
Homework 12 | released on |
Optional |
Lecture | Date | Topic | Scribe Notes | References |
Introduction | ||||
1 | We 1/10 | History of Algorithms; Asymptotic Notation; Worst-case Analysis | Notes | DPV: 0, 2 KT: 2 CLRS: 1, 2, 3, 4 |
Algorithm Design Techniques | ||||
Mo 1/15 | Martin Luther King, Jr. Holiday: No class | |||
We 1/17 | School closed due to snow | |||
2 | Mo 1/22 | Divide and Conquer: Binary Search, Quick Sort, Merge Sort, Integer Multiplication, Linear-time Selection. | Notes | DPV: 2 KT: 5 CLRS: 4, 7, 8, 9, 28 |
3 | We 1/24 | |||
4 | Mo 1/29 | Greedy Algorithms: Interval Scheduling, Interval Coloring, Fractional Knapsack, Huffman codes | Notes | DPV: 5 KT: 4 CLRS: 16 |
5 | We 1/31 | |||
6 | Mo 2/5 | Dynamic Programming: Longest Increasing Subsequence, 0-1 Knapsack, Maximal Independent Set on Trees |
Notes | DPV: 6 KT: 6 CLRS: 15 |
7 | We 2/7 | |||
Graph Algorithms | ||||
8 | Mo 2/12 | Graph Representations and Traversal: Depth First Search, Breadth First Search, Applications | Notes | DPV: 3 KT: 3 CLRS: 22 |
9 | We 2/14 | |||
10 | Mo 2/19 | Shortest Path: Bellman-Ford, Dijkstra, All-Pairs Shortest Paths |
Notes | DPV: 4.6, 6.6 KT: 6.8 CLRS: 24.1, 25 |
We 2/21 | Midterm 1: Lectures 1-10 | |||
11 | Mo 2/26 | Minimum Spanning Tree: Kruskal, Prim, Union-Find Data Structure | Notes | DPV: 5 KT: 4 CLRS: 16, 23 |
12 | We 2/28 | |||
13 | Mo 3/5 | Amortization and Potential Method | Notes | DPV: 5 CLRS: 17 |
14 | We 3/7 | Network Flows: Augmenting Paths Algorithm, Max-Flow Min-Cut Theorem | Notes | DPV: 7 KT: 7 CLRS: 26 |
Mo 3/12, We 3/14 | Spring Break: No Class | |||
15 | Mo 3/19 | Max Flows (continued from 3/7) Random Processes: Geometric Random Variables, Coupon Collector |
Notes | |
Randomized Algorithms | ||||
16 | We 3/21 | Random Processes: Birthday Paradox, Monte Carlo and Las Vegas Algorithms | Notes | DPV: virtual chapter KT: 13 CLRS: 5, 11 |
17 | Mo 3/26 | |||
18 | We 3/28 | Hashing | Notes | DPV: virtual chapter KT: 13 CLRS: 5, 11 |
Linear Programming | ||||
19 | Mo 4/2 | LP Formulations, Integer Linear Program | Notes | CLRS: 29 |
20 | We 4/4 | LP Duality | Notes | CLRS: 29 |
21 | Mo 4/9 | |||
We 4/11 | Midterm 2: Lectures 11-21 | |||
22 | Mo 4/16 | LP Algorithms, Simplex Algorithms, Separation Oracles | ||
Intractability | ||||
23 | We 4/18 | Complexity Classes P and NP, Polynomial-time Reductions | Notes | DPV: 8 KT: 8 CLRS: 34 |
24 | Mo 4/23 | Approximation Algorithms: Vertex Cover, Set Cover, TSP | Notes | DPV: 8, 9 KT: 8, 11 CLRS: 34, 35 |
25 | We 4/25 | |||
26 | ||||
Mo 4/30 | Final Exam: All Lectures Time: Monday April 30, 2 - 5 pm Location: French Science 2231 |
Discussion | Date | Topic | Discussion Notes |
1 | Fr 1/12 | Induction, big-Oh notation | Notes |
2 | Fr 1/19 | ||
3 | Fr 1/26 | Divide and Conquer | Notes |
4 | Fr 2/2 | Greedy Algorithms | Notes |
5 | Fr 2/9 | Dynamic Programming | Notes |
6 | Fr 2/16 | All Pairs Shortest Path | |
7 | Fr 2/23 | Strongly Connected Components | |
8 | Fr 3/2 | MST Algorithms | |
9 | Fr 3/9 | Ford-Fulkerson Review; Bipartite Matching | |
10 | Fr 3/23 | Resource Contention; Balls and Bins | |
11 | Fr 3/30 | Randomized Quicksort Revisited | Notes |
12 | Fr 4/6 | LP Duality. Dual Fitting | |
13 | Fr 4/13 | Bipartite Matching LP Rounding | |
14 | Fr 4/20 | NP-hardness: Longest Path, Dominating Set |