Gregor Reisch: Madame Arithmatica, 1508
Administration
Introduction to Algorithms
COMPSCI 531 • Fall 2021
Instructors:
Pankaj K. Agarwal
Alex Steiger
TA: Lu Wang
Lecture: Tu/Th 1:45-3:00 pm in LSRC B101
Discussion: Mo 1:45-3:00 pm in Physics 130
Office Hours (Virtual): Zoom Link on Sakai
Agarwal: Tu/Th @ 4-5pm
Steiger: Mon @ 4-5pm, Wed @ 3-4pm
Wang: Tu @ 10-11am, Fri @ 1-2pm
Course Synopsis
This course covers design and analysis of efficient algorithms at a graduate level. Topics include:
- Ranking: Mergesort, Quicksort, order statistics, rank aggregation, fair ranking
- Graphs: Shortest paths, breadth-first search, Dijkstra's algorithm, Floyd's algorithm, dynamic programming, similarity and edit distance
- Clustering: Minimum spanning trees, k-center clustering, k-means clustering, fair clustering, expectation-maximization algorithm, local search, algebraic views of graphs, spectral clustering
- Network Problems: Max-flow min-cut theorem, bipartite matchings, flow and matching algorithms, online matchings & auctions
- Optimization: Linear programming, duality, LP algorithms and rounding, gradient descent
- Hashing: Universal hashing, Bloom filters, consistent hashing, locality sensitive hashing
Prerequisites
COMPSCI 201 and 230, or equivalent courses. This course requires undergraduate background in discrete mathematics.
Textbook
[Er] | J. Erickson, Algorithms, self-published, 2019. [online] |
Additional algorithms lecture notes by Erickson are found at the link above, which we cite collectively as [Er2]. For example, the notes on Linear Programming are [Er2 H].
Reference Books and Notes
[DVP] | S. Dasgupta, U. Vazirani, C. Papadimitriou, Algorithms,
McGraw-Hill, 2006. |
[Ed] | H. Edelsbrunner, Design and Analysis of Algorithms, lecture notes, 2008. [online] |
[KT] | R. Kleinberg, È. Tardos, Algorithm Design,
Pearson, 2009. |
[MG] | J. Matoušek and B. Gärtner, Understanding and Using Linear Programming,
Springer, 2007. |
[MR] | R. Motwani and P. Raghavan, Randomized Algorithms, Cambridge University
Press. |
[WS] | D. Williamson and D. B. Shmoys, The Design of Approximation Algorithms, Cambridge
University Press, 2011. [online] |
Grading
- Assignments (best six of eight): 20%
- Two projects: 30%
- Midterm exam: 20%
- Final exam: 30%
Both exams are closed-book and in-person (unless policies change). See the Assignments page for more info about assignments and projects.
Additional Platforms
- Sakai: Accessed here. This works as the hub to Gradescope and Ed. Any course resources (e.g. lecture notes, solutions) will be hosted on Sakai under Resources.
- Gradescope: Accessed via Sakai. All assignments and project documents will be submitted here. See Assignments for more info.
- Ed Discussions: Accessed via Sakai. Ed is a questions-and-answers message board (similar to Piazza) that is easy to use and allows for all participants to help answer each other's questions. Please ask all course-related questions on Ed by creating a new post, not only those about assignments.
page top