Computer Science 284/484
Advanced Algorithms
Fall 2025
Instructor: Daniel Stefankovic
TA: Helia Dinh (email on blackboard)
Class: Monday, Wednesday 4:50pm-6:05pm, Dewey 2110D.
Instructor office hours: ONLINE (zoom link on blackboard) Tuesday 8:30pm-9:30pm and in-person (Wegmans 2315) Friday 9:00am-10:00am.
TA office hours: Tuesday noon-2pm in Wegmans 4209.
Textbooks: there is no required textbook; see each section for the recommended reading (mostly online; I will also supply handouts).
Other resources/recommended reading:
- [CLRS09] Introduction to Algorithms (3rd edition), T. Cormen, C. Leiserson, R. Rivest, and C. Stein, 2009.
- [K91] The Design and Analysis of Algorithms, D. Kozen, 1991.
- [KT05] Algorithm Design, J. Kleinberg and E. Tardos, 2005.
- [AHU74] The Design and Analysis of Computer Algorithms, A. Aho, J. Hopcroft, J. Ulman, 1974.
- [MU05] Probability and Computing: Randomized Algorithms and Probabilistic Analysis, M. Mitzenmacher, E. Upfal, 2005.
- [MR95] Randomized Algorithms, R. Motwani, P. Raghavan, 1995.
- [H02] Finite Markov chains and algorithmic applications, O. Haggstrom, 2002.
- [LPW09]Markov Chains and Mixing Times, D. Levin, Y. Peres and E. Wilmer, 2009.
- [G97] Counting, sampling and integrating: algorithms and complexity, M. Jerrum, 2003.
- [WS11] The Design of Approximation Algorithms, D.Williamson, D. Shmoys, 2011
- [V04] Approximation Algorithms, V. Vazirani, 2004.
- [BE98] Online Computation and Competitive Analysis, A. Borodin, R. El-Yaniv, 1998.
- [M05] Data Streams: Algorithms and Applications, S. Muthukrishnan, 2005.
- [G97] Algorithms on Strings, Trees and Sequences: Computer Science and Computational Biology, D. Gusfield, 1997.
Electronic books/lecture notes/drafts:
-
[A15]
A Graduate Course in Algorithm Design and Analysis,
S. Arora, 2015.
-
[L16]
Advanced techniques in algorithm design,
S. Lovett, 2016.
-
[G20]
Advanced Algorithms,
A. Gupta, 2020.
-
[T11]
Combinatorial Optimization: Exact and Approximate Algorithms,
L. Trevisan, 2011.
-
[HK12]
Computer Science Theory for the Information Age,
J. Hopcroft, R. Kannan, 2012.
Prerequisites: CSC282.
Schedule
TOPIC 1: Max-Flow
Aug. 25 Mo - Max Flow I (basics, Ford-Fulkerson, min-cut max-flow, scaling algorithms).
Aug. 27 We - Max Flow II (Edmonds Karp).
Sep. 1 Mo - LABOR DAY (no class).
Sep. 3 We - Max Flow III (Push Relabel).
Sep. 8 Mo - Min-Cost Flow.
Homework 1: to be released on Gradescope on Sep. 3, due Sep. 17.
TOPIC 2: String Algorithms
Sep. 10 We - String Algorithms I (suffix trees).
Sep. 15 Mo - String Algorithms II (suffix trees).
Sep. 17 We - String Algorithms III (suffix arrays).
Sep. 22 Mo - String Algorithms IV (suffix arrays).
Homework 2: to be released on Gradescope on Sep. 17, due Oct. 1.
TOPIC 3: Streaming Algorithms (with introduction to probability theory)
reading:
Sep. 24 We - Probability I.
Sep. 29 Mo - Probability II.
Oct. 1 We - Streaming Algorithms I (distinct elements).
Oct. 6 Mo - Streaming Algorithms II (sketching).
Oct. 8 We - Streaming Algorithms III (frequency moments).
Oct. 13 Mo - FALL BREAK (no class).
Oct. 15 We - Streaming Algorithms IV.
Homework 3: to be released on Gradescope on Oct. 8, due Oct. 22.
TOPIC 4: Sampling/Counting, Markov chain Monte Carlo
Oct. 20 Mo - MCMC I (basics: stationary distribution, detailed balance condition, ergodicity).
Oct. 22 We - MCMC II (random walks).
Oct. 27 Mo - MCMC III (mixing time).
Oct. 29 We - MCMC IV (bounds on mixing time).
Nov. 3 Mo - MCMC V (coupling from the past).
Nov. 5 We - MCMC VI (high dimensional expanders).
Nov. 10 Mo - MCMC VII (sampling bases of matroids).
Homework 4: to be released on Gradescope on Nov. 3, due Nov. 17.
TOPIC 5: Approximation Algorithms
Nov. 12 We - Linear Programming I (basics, duality).
Nov. 17 Mo - Linear Programming II (arborescences).
Nov. 19 We - Vertex cover, Max 2-SAT.
Nov. 24 Mo - Semidefinite programming, Max-Cut.
Nov. 26 We - Metric Embeddings I.
Dec. 1 Mo - THANKSGIVING (no class).
Dec. 3 We - Metric Embeddings II.
Dec. 8 Mo - Sparsest Cut.
Homework 5: to be released on Gradescope on Nov. 26, due Dec. 10.
Grading
The grade for the course is based on the homework (theoretical and applied; there will be 6 problem sets (homework set 6 will be more open ended)); there are no exams.
Homework Rules
- Theoretical homework should be typeset (LaTeX preferred) and submitted on Gradescope. Applied homework should be submitted on Gradescope. You may work with other people on the homework, but you must each write up your solutions separately (without any written aid; do not share your written solutions; do not share code). If you work with other people, indicate who you worked with on your solution.
- No late homework will be accepted without instructor's permission (a permission must be requested at least 24 hours before the due date).
This course follows
The University Policy on Academic Honesty .