Andrew McGregor

Associate Professor

Welcome to the Fall 2015 homepage for CMPSCI 611 - Advanced Algorithms.

  • Instructor:
    • Andrew McGregor. Email: mcgregor at cs.
    • Office hours: 12:45-2pm Thursday (Location CS334).

  • TA:
    • Cibele Freire. Email: cibelemf at cs.
    • Office hours: 2pm-3 Wednesday (Location CS207).

  • Textbook: The required textbook will be "Lecture Notes from CMPSCI 611" by Prof. Micah Adler and this will be available from Collective Copies. See here for a list corrections and typos. Other books you might find generally useful include:
    • Introduction to Algorithms by Cormen, Leiserson, Rivest, and Stein (Library has the e-book)
    • Algorithm Design by Kleinberg and Tardos
    • Algorithms by Dasgupta, Papadimitriou, Vazirani
    You may also find sections of the following books helpful:
    • Randomized Algorithms by Motwani and Raghavan (Library has the e-book)
    • Probability and Computing by Mitzenmacher and Upfal (Library has the e-book)
    • Approximation Algorithms by Vazirani (Library has the e-book if you can read French)
  • Homeworks and Exams:
    Late Policy: Homeworks are due at the start of class by email. Late policy is that you're allowed to hand in at most one of the homework 48 hours late. You don't even need a good excuse! However, if later in the semester you don't hand in a homework on time, even if you have the best excuse in the world, then you'll get no credit for the second homework. Therefore, since you can't tell what might happen in the future, I'd suggest that you don't use your "lifeline" prematurely.

    Honesty and Collaboration Policy: Violating any of the following rules risks an automatic F. Ask if you're unsure about any of the policies.
    • Homework: Collaborating with at most two other students in the homework is allowed but answers must be written independently 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.

  • Schedule and Slides: Here's an approximate schedule for the course. Note that this'll be updated as we go along depending on our progress and, hopefully, we'll get to squeeze in a couple of extra topcs. I'll add slides after each class (some links will be dead until the slides are added).

    Lecture Date Topic Reading and Background
    1 8 Sept Preliminaries, Mergesort, Master Theorem Section 1, 2.1, 2.2
    2 10 Sept Strassen's Matrix Multiplication Algorithm, Closest Pairs Section 2.3, 2.4. A blog post describing recent progress on matrix multiplication.
    3 15 Sept The Fast Fourier Transform Section 2.5
    4 17 Sept Minimum Spanning Trees, Subset Systems Section 3.1, 3.2
    5 22 Sept Matroids Section 3.3
    6 24 Sept Bipartite Matchings Section 3.4
    7 29 Sept The Union-Find Problem, Kruskal's Algorithm Section 3.5
    8 1 Oct Knapsack Problem, Dynamic Programming, Floyd-Warshall Section 4.1-4.4
    9 6 Oct Dijkstra Section 4.5
    - 7 Oct 4pm Distinguished Department Lecture: Communication Amid Uncertainty (Madhu Sudan)
    10 8 Oct Seidel Section 4.6
    - 13 Oct No Class (Monday Schedule)
    10 15 Oct Seidel Section 4.6
    11 20 Oct Network Flow Section 5.1-5.4
    - 21 Oct 7-9pm Midterm First five chapters.
    11 20 Oct Ford-Fulkerson Algorithm Section 5.1-5.4
    12 27 Oct Quicksort, Karger's Algorithm Section 6.1
    13 29 Oct Karger's Algorithm and Polynomial Identities Section 6.2, 6.3
    14 3 Nov Tail Inequalities and Lazy Select Section 6.5
    15 5 Nov Chernoff Bounds and Balls and Bins Section 6.5, Video showing concentration of binomial distribution
    16 10 Nov Hash Functions and Count-Min Sketch Original Paper
    17 12 Nov NP-Completeness Section 7.1-7.3.4, A Vote on P=NP
    18 17 Nov Subset Sum and Approximation Algorithms Section 7.3.5-8.2.1.
    19 19 Nov P versus NP, Approximations, Independent Set Problem Section 8.2.2-8.2.4.
    20 24 Nov More Approximations, Metric TSP Problem Section 8.2.4-8.4
    - 26 Nov No class (Thanksgiving)
    21 1 Dec Set Cover Problem, Poly-Time Approximation Scheme Section 8.5-8.7
    22 3 Dec Linear Programming, Simplex Method
    23 8 Dec Analysis of the Simplex Method
    24 10 Dec Review and Any Questions
    - 17 Dec 1-3pm, Room 142 Computer Science Final Exam All the material.