| 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 |