Lecture: | Monday, Wednesday, and Friday 2:30-4 in 32-123. | ||
Units: | 5-0-7 Graduate H-level | ||
Instructors: | David Karger | karger@mit.edu | Office hours: Arrange by email. In Building 32, Room G592 |
TAs: | Theia Henderson | theia@mit.edu | Office hours: TBD |
Course assistant: | Rebecca Yadegar | ryadegar@csail.mit.edu |
The prerequisites for this class are strong performance in undergraduate courses in algorithms (e.g., 6.1220J/18.410J, previously 6.046) and discrete mathematics and probability (6.1200J, previously 6.042, is more than sufficient), in addition to substantial mathematical maturity.
The coursework will involve problem sets and a final project that is research-oriented. For more details, see the handout on course information.
Problem Set | Due Date | Solutions | Grading Supervisor | Gradescope | (Mandatory) Time Report | Peer Grading Sign-up | Late Submission |
---|
For notes and videos related to each topic, see the course materials.
All lectures will be done before Thanksgiving | ||
# | Date | Topic |
---|---|---|
Schedule below subject to change. | ||
1. | Wed, Sep. 8: | Course introduction. Fibonacci heaps. MST. |
2. | Fri, Sep. 10: | Fibonacci heaps. |
3. | Mon, Sep. 13: | Fibonacci heaps. MST. Persistent Data Structures. |
4. | Wed, Sep. 15: | Persistent Data Structures. Splay Trees. |
5. | Fri, Sep. 17: | Splay Trees. |
6. | Mon, Sep. 20: | Buckets. |
7. | Wed, Sep. 22: | Van Emde Boas Queues. Universal Hashing. |
8. | Fri, Sep. 24: | Perfect Hashing. Max Flow: Flow Decomposition. S-T Cuts. |
9. | Mon, Sep. 27: | Max Flow: Max-Flow Min-Cut. Augmenting Path Algorithms. |
10. | Wed, Sep. 29: | Max Flow: Scaling. Strongly polynomial algorithms. Blocking Flows. |
11. | Fri, Oct. 1: | Blocking Flows. State-of-the-Art Max Flow Results. |
12. | Mon, Oct. 4: | Min Cost Flows |
13. | Wed, Oct. 6: | Min Cost Flow Algorithms |
14. | Fri, Oct. 8: | Linear Programming: Introduction. Size of Solutions. |
Mon, Oct. 11: | Indigenous Peoples Day - No class | |
15. | Wed, Oct. 13: | Linear Programming: Geometry. Structure of Optima. Duality Introduction. |
16. | Fri, Oct. 15: | Linear Programming: Strong Duality. |
17. | Mon, Oct. 18: | Linear Programming: Rules for Taking Duals. Duality Examples. Complementary Slackness. |
18. | Wed, Oct. 20: | Linear Programming: Min-Cost Circulation Dual. Simplex Method. |
19. | Fri, Oct. 22: | Linear Programming: Simplex Method. Ellipsoid Method. |
20. | Mon, Oct. 25: | Linear Programming: Interior Point Method. Approximation Algorithms: Introduction. |
21. | Wed, Oct. 27: | Approximation Algorithms: Greedy approaches. Scheduling. Approximation Schemes (PAS). |
22. | Fri, Oct. 29: | Approximation Algorithms: Fully Polynomial Time Approximation Schemes (FPAS). Rounding. Enumeration. |
23. | Mon, Nov. 1: | Approximation Algorithms: Relaxations. TSP. LP Relaxations. |
24. | Wed, Nov. 3: | Approximation Algorithms: LP Relaxations. Facility Location. Approximation-Preserving Reductions. |
25. | Fri, Nov. 5: | Approximation Algorithms: Randomized Rounding. Fixed Parameter Tractability. |
26. | Mon, Nov. 8: | Treewidth. Computational Geometry: Range Trees. Sweep Algorithms. |
27. | Wed, Nov. 10: | Computational Geometry: Voronoi Diagrams. |
28. | Fri, Nov. 12: | Online Algorithms: Ski Rental. Finance. |
29. | Mon, Nov. 15: | Online Algorithms: Load Balancing. Paging. Randomization. |
30. | Wed, Nov. 17: | Online Algorithms: Paging. Randomization. K-Server Problem. |
31. | Fri, Nov. 19: | Online Algorithms: K-Server Problem. External Memory Algorithms: Matrices. Linked Lists. Search Trees. |
32. | Mon, Nov. 22: | External Memory Algorithms: Sorting. Buffer Trees. Cache Oblivious Algorithms. |
Wed, Nov. 24: | Thanksgiving holiday - No class | |
Fri, Nov. 26 | Thanksgiving holiday - No class |