Welcome to the Spring 2024 homepage for CMPSCI 611 - Advanced Algorithms.
- Instructor:
- Andrew McGregor.
- Office hours: 3-4pm Tuesday in CS 334.
- TA:
- Raghav Addanki and David Tench.
- Office hours: 4-5pm Monday in CS314 (Raghav), 2-3pm Thursday in CS207 (David)
- Textbook:
The required textbook will be
- Lecture Notes from CMPSCI 611 by Prof. Micah Adler and this will be available (probably by the end of the first week of class) from Collective Copies. See here for a list corrections and typos.
- Introduction to Algorithms by Cormen, Leiserson, Rivest, and Stein.
- Algorithm Design by Kleinberg and Tardos.
- Algorithms by Dasgupta, Papadimitriou, Vazirani.
- Randomized Algorithms by Motwani and Raghavan.
- Probability and Computing by Mitzenmacher and Upfal.
- Approximation Algorithms by Vazirani.
- Support Material:
- If you would like to write your homework solutions in LaTeX, here's a template (and here's a compiled version.)
- Practice Midterms: 2017 Midterm 1 and Solutions, 2017 Midterm 2 and Solutions, 2015 Midterm and Solutions, 2009 Midterm and Solutions, 2012 Midterm and Solutions, 2010 Midterm and Solutions.
- Practice Finals: 2017 Final Exam and Solutions, 2015 Final Exam and Solutions, 2012 Final and Rough Solutions, 2010 Final and Rough Solutions, 2009 Final and Rough Solutions, 2005 Practice Final and Solutions.
- Homework: Collaborating with at most three other students in the homework is allowed and you should mention who you worked with. You're not allowed to use material from the web (or indeed any material except from that listed on the course page) or talk about the homework with anybody outside your collaboration group (aside from the lecturer or TA.)
- Quizzes: No collaboration! But you can consult any material you like.
- Exams: Closed book and no collaboration.
Date | Topic | Reading and Background |
---|---|---|
3 Sept | Preliminaries, Mergesort, Master Theorem | Slides, Section 1, 2.1, 2.2 |
5 Sept | Matrix Multiplication, Closest Pairs | Slides, Section 2.3, 2.4. A blog post describing recent progress on matrix multiplication. |
10 Sept | Fast Fourier Transform | Slides, Section 2.5 |
12 Sept | Minimum Spanning Trees | Slides, Section 3.1 |
17 Sept | Subset Systems, Matroids | Slides, Section 3.2, 3.3 |
19 Sept | No class (Instructor at workshop) | |
21 Sept | Cardinality Theorem and Examples | Slides, Section 3.4 |
26 Sept | Bipartite Matchings, The Union-Find Problem | Slides, Section 3.4, 3.5 |
1 Oct | Dynamic Programming, e.g., Knapsack Problem and Floyd-Warshall | Slides, Section 4.1-4.4 |
3 Oct | Dijkstra | Slides, Section 4.5 |
8 Oct | Seidel | Slides, Section 4.6 |
10 Oct | Network Flow Part 1 | Slides, Section 5.1-5.2 |
15 Oct | No Class (Monday Schedule) | |
17 Oct | Network Flow Part 2 | Slides, Section 5.3-5.4 |
22 Oct | Quicksort | Slides, Section 6.1 |
24 Oct | Karger's Algorithm | Slides, Section 6.2, 6.3 |
29 Oct | Tail Inequalities and Lazy Select | Slides, Section 6.5 |
31 Oct | Chernoff Bounds and Balls and Bins | Slides, Section 6.5, Video showing concentration of binomial distribution |
5 Nov | More Balls and Bins, Polynomial Multiplication | Slides, |
7 Nov | Data Streams and Count-Min Sketch | Slides, Original Paper |
12 Nov | Approximation Algorithms | Slides, Section 7.1-8.2.1. |
14 Nov | P versus NP, Approximations, Independent Set Problem | Slides, Section 8.2.2-8.2.4. |
19 Nov | NP Completeness | Slides, Section 8.2.4-8.4 |
21 Nov | More NP Completeness and Approximation Algorithms | Slides, |
26 Nov | No class (Thanksgiving) | |
28 Nov | No class (Thanksgiving) | |
3 Dec | Linear Programming, Simplex Method | Slides, |
5 Dec | Analysis of the Simplex Method | Slides, |
10 Dec | Review and Any Questions | Slides, |