CS 577: Introduction to Algorithms

    Spring 2020

      Course Calendar

    Meeting times:

      Section 1 meets on T/Th at 9:30-10:45 am in Noland 132. Instructor: Prof. Shuchi Chawla

      Section 2 meets on T/Th at 1:00-2:15 pm in Psych 113. Instructor: Prof. Christos Tzamos

      Discussions are held on Wednesdays. All discussion sections have identical content every week and students are free to attend any section.

      In addition to the above meeting times, we provide many opportunities for students throughout the week to meet with staff in the form of small study groups, individual meetings, drop-in help, and regular office hours. Please see our Piazza post on how to contact course staff for the specifics. A schedule for meeting times is posted on the course calendar (see below).

    Further information and quick links:

      We will use Piazza to post information relevant to the course and carry out discussions. Sign up here.

      A Course Calendar is available here in iCal format and here in html format.

      A syllabus can be found on Canvas. Grades will also be posted on canvas.

      Other course info including syllabus, textbook information, course policies, etc. can be found on Piazza.

    Tentative Course Schedule

    Week 1 Intro; Divide & Conquer HW0 out
    Week 2 Divide & Conquer; Graphs HW1 out
    Week 3 Graphs and connectivity; Greedy HW1 due, HW2 out
    Week 4 Greedy algorithms HW2 due, HW3 out
    Week 5 Greedy; Dynamic Programming HW3 due, HW4 out
    Week 6 Dynamic Programming HW4 due, Midterm 1 on Feb 27
    Week 7 Dynamic Programming HW5 out
    Week 8 Randomized algorithms HW5 due, HW6 out
    Week 9 Randomized algorithms HW6 due, HW7 out
    Week 10 Reductions; Network Flow HW7 due, Midterm 2 on Apr 2
    Week 11 Reductions; Network Flow HW8 out
    Week 12 Reductions; P vs. NP HW8 due, HW9 out
    Week 13 NP-Completeness; Complexity Classes HW9 due, HW10 out
    Week 14 Dealing with intractability HW10 due