CS 501 / MCS 501 - Computer Algorithms II
University of Illinois - Chicago
Fall 2020


This course will introduce students to the fundamental ideas underlying modern algorithmic techniques. Students will be taught how to design and analyze approximation algorithms, randomized algorithms, and streaming algorithms, as well as other advanced topics. Knowledge of topics covered in CS 401 / MCS 401 is required.

This course is represented in the CS Ph.D. prelim exam in the MSCS department.

Basic Information

Syllabus: pdf
Time and Location: M-W-F 10:00–10:50 a.m., online
Instructor Contact Information: Lev Reyzin, SEO 418, (312)-413-3745
Required Textbook: D. P. Williamson and D. B. Shmoys, The Design of Approximation Algorithms (available free online)
Instructor's Office Hours: T 9:00-9:50am, F 2:00-2:50pm, online

Exam Dates

Problem Sets

problem set 1, due 9/16/20
problem set 2, due 10/5/20

Lectures and Readings

Note: lectures will have material not covered in the readings.

Lecture 1 (8/24/20)
covered material: intro to the course, discussion of modern algorithms vs traditional approaches

Lecture 2 (8/26/20)
covered material: review of Ford-Fulkerson algorithm, reduction from min-cut to min-s-t-cut
reading: review these notes on flows

Lecture 3 (8/28/20)
covered material: Karger's randomized algorithm for min-cut
reading: these notes by Eric Vigoda (Georgia Tech)

Lecture 4 (8/31/20)
covered material: the Karger-Stein improvement to randomized min-cut
reading: these notes by Sasho Nikolov (Toronto)

Lecture 5 (9/2/20)
covered material: introduction to approximation algorithms via metric k-center
reading: 2.2 of Williamson and Shmoys

Lecture 6 (9/4/20)
covered material: optimization and decision problems, vertex cover and set cover
reading: these notes by Patrick Jaillet (MIT)

Lecture 7 (9/9/20)
covered material: greedy algorithms for set cover and vertex cover
reading: 1.6 of Williamson and Shmoys and these notes by Dieter van Melkebeek (Wisconsin)

Lecture 8 (9/11/20)
covered material: linear programming (LP) relaxations for set and vertex cover
reading: 1.1 and 1.2 of Williamson and Shmoys
optional reading: appendix A of Williamson and Shmoys for background on LP

Lecture 9 (9/14/20)
covered material: deterministic rounding of LP relaxation for vertex cover
reading: 1.3 of Williamson and Shmoys

Lecture 10 (9/16/20)
covered material: randomized rounding of LP relaxation for set cover
reading: 1.7 of Williamson and Shmoys

Lecture 11 (9/18/20)
covered material: hardness of approximation (of k-center) by reducing from NP-Complete (NPC) problems
reading: 16.1 of Williamson and Shmoys
optional reading: appendix B of Williamson and Shmoys for background on NPC

Lecture 12 (9/21/20)
covered material: minimum spanning trees (MST), nearest addition for metric traveling salesman problem (TSP)
reading: these notes by Santosh Vempala (Georgia Tech) for review of MSTs