CS 577: Introduction to Algorithms

    MWF 9:55-10:45 AM in Grainger 1100
    Spring 2017

      Course info
      Course Calendar

    For students on the waiting list: This class is currently full. As space opens up, we will admit students off of the waiting list into the course. The waiting list is long and we expect to be able to admit only a small fraction of the students. Emailing Shuchi will not help your chances. If you have unusual circumstances, please contact Lindsey Komes.

    Course info: Click here for info on the course content and textbooks, and here for info on course policies, grading, exams, etc.; See sidebar for quick links.

    Course Calendar: Use this link to add the course calendar in any application that uses the iCal format. Use this link to open the course calendar in a web browser. This calendar contains information about staff office hours, review sessions, homework release and due dates, and the exam schedule.

    Online discussion site: We will conduct discussions via Piazza. Homework and other course resources as well as announcements will be made available on Piazza.

    Review sessions: Review sessions are held on Thursdays (see calendar for times and locations). They are not mandatory but are highly recommended.

    Tentative Schedule

    Week 1 Intro; Divide & Conquer HW0 out
    Week 2 Divide & Conquer HW1 out
    Week 3 Divide & Conquer; Backtracking; Dynamic Programming HW1 due, HW2 out
    Week 4 Dynamic Programming HW2 due, HW3 out
    Week 5 Basic Graph Algos. HW3 due, HW4 out
    Week 6 DP on graphs HW4 due, HW5 out
    Week 7 Minimum Spanning Tree; Greedy Algos. HW5 due, HW6 out
    Week 8 Greedy Algos. HW6 due, Sample Midterm out
    Week 9 Randomness Midterm Exam
    Spring Break
    Week 10 Randomness HW7 out
    Week 11 Network Flow HW7 due, HW8 out
    Week 12 Network Flow HW8 due, HW9 out
    Week 13 Reductions; P vs. NP HW9 due, HW10 out
    Week 14 NP-Completeness; Complexity Classes HW10 due, Sample Final out
    Week 15 Dealing with intractability; FFT