Computer Science 284/484 - Advanced Algorithms - Fall 2026
Instructor: Daniel Stefankovic
Class: Monday, Wednesday 9:00am - 10:15am (Hylan 203).
Instructor office hours: ONLINE (zoom link on blackboard) Tuesday 8:30pm-9:30pm and in-person (Wegmans 2315) Friday 10:00am-11:00am.
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.
- [BCKO08] Computational Geometry: Algorithms and Applications, M. de Berg, O. Cheong, M. van Kreveld, M. Overmars, 2008.
- [PS85] Computational Geometry: An Introduction, F. Preparata, M. Shamos, 1985.
- [DO11] Discrete and Computational Geometry, S. Devadoss, J. O'Rourke, 2011.
- [M93] Computational Geometry: An Introduction Through Randomized Algorithms, K. Mulmuley, 1993.
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. 31 Mo - Max Flow I (basics, Ford-Fulkerson, min-cut max-flow, scaling algorithms).
Sep. 2 We - Max Flow II (Edmonds Karp I and II).
Sep. 7 Mo - LABOR DAY (no class).
Sep. 9 We - Max Flow III (Push Relabel).
Sep. 14 Mo - Min-Cost Flow.
Homework 1: to be released on Gradescope on Sep. 9, due Sep. 23.
TOPIC 2: String Algorithms
Sep. 16 We - String Algorithms I (suffix trees).
Sep. 21 Mo - String Algorithms II (suffix trees).
Sep. 23 We - String Algorithms III (suffix arrays).
Sep. 28 Mo - String Algorithms IV (suffix arrays).
Homework 2: to be released on Gradescope on Sep. 23, due Oct. 7.
TOPIC 3: Randomized Algorithms (with introduction to probability theory)
Sep. 30 We - Probability review.
Oct. 5 Mo - Probability II.
Oct. 7 We - Probability II.
Oct. 12 Mo - FALL BREAK (no class).
Oct. 14 We - Probability II.
Homework 3: to be released on Gradescope on Oct. 7, due Oct. 21.
TOPIC 4: Streaming Algorithms
Oct. 19 Mo - Streaming Algorithms I (distinct elements).
Oct. 21 We - Streaming Algorithms II (sketching).
Oct. 26 Mo - Streaming Algorithms III (frequency moments).
Oct. 28 We - Streaming Algorithms IV.
Homework 4: to be released on Gradescope on Oct 28, due Nov. 11.
TOPIC 5: Sampling/Counting, Markov chain Monte Carlo
Nov. 2 Mo - MCMC I (basics: stationary distribution, detailed balance condition, ergodicity).
Nov. 4 We - MCMC II (random walks).
Nov. 9 Mo - MCMC III (mixing time).
Nov. 11 We - MCMC IV (bounds on mixing time).
Homework 5: to be released on Gradescope on Nov. 11, due Dec. 2.
TOPIC 6: Computational Geometry
Nov. 16 Mo - Computational Geometry I (sweep technique).
Nov. 18 We - Computational Geometry II (convex hulls).
Nov. 23 Mo - Computational Geometry III (closest pair of points).
Nov. 25 We - THANKSGIVING (no class).
Nov. 30 Mo - Computational Geometry IV.
Homework 6: to be released on Gradescope on Dec. 2, due Dec. 16.
TOPIC 7: Approximation Algorithms
Dec. 2 We - Linear Programming I (basics, duality).
Dec. 7 Mo - Linear Programming II (arborescences).
Dec. 9 We - Vertex cover, Max 2-SAT.
Dec. 14 Mo - Semidefinite programming, Max-Cut.
Dec. 23 We - FINAL EXAM 8:30am - 11:30am (this is the University assigned time for our final exam---if there is a universal agreement among all students in the class we can move it to any day in the Dec.19-Dec.23 window).
Grading
The grade for the course is based on the
- 40% homework: (theoretical and applied) there will be 6 problem sets.
- 40% in-class worksheets: formative assessment: graded for completion/honest attempt; you can miss 6 in-class worksheets and still receive full credit for this component. In-class worksheets are submitted by the students on gradescope after class.
- 20% final exam.
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. Do not share your written solutions. Do not share code.
- You cannot use any written aid when writing your answers or code---this includes any responses generated by AI systems (you can ask AI systems for code, you can look at the code, you cannot copy the code).
- AI tools may not be used to write any part of your code (you can use AI for debugging your code, you have to implement the changes in the code yourself).
- 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).
AI policy
- AI use is allowed with the following two rules: The AI prompts and responses have to meaningfully go through your brain. The AI use has to be transparent. This means:
- Copying assignment into AI prompt in not allowed (you are allowed to ask AI about the assignment---the prompt has to be generated by your brain).
- Copying code or sentences from an AI response is not allowed (you are allowed to look at the AI responses and internalize them---the code and sentences that are in your solutions have be generated by your brain).
- When you use AI on an assignment, indicate which AI system you used and append the chat to the assignment (this includes prompts and AI responses).
This course follows
The University Policy on Academic Honesty .