CS 577: Introduction to Algorithms

    Section 2: MWF 11:00-11:50 AM in Psychology 113
    Spring 2016
 



      Course info
      Course Calendar
      Piazza


    Course info: Click here for info on the course content, text, 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.
    Review sessions: The TAs will lead review sessions every week discussing example problems relevant to the previous week's lectures. Review sessions will be held on Mondays at 7:15 p.m. and Tuesdays at 5:15 p.m. (with Tuesday's being a repeat of Monday's session). You are highly encouraged to attend these sessions. Location: CS 1240.

    Homework

    HW1         Out: Jan 27       Due: Feb 3 in class.
    HW2 Out: Feb 3 Due: Feb 10 in class. Also see this addendum.
    HW3 Out: Feb 10 Due: Feb 17 in class.
    HW4 Out: Feb 17 Due: Feb 24 in class.
    HW5 Out: Feb 24 Due: Mar 2 in class.
    HW6 Out: Mar 2 Due: Mar 9 in class. Deadline extended to Mar 11 in class.
    HW7 Out: Apr 6 Due: Apr 13 in class. Deadline extended to Apr 15 in class.
    HW8 Out: Apr 20 Due: Apr 27 in class.
    HW9 Out: Apr 27 Due: May 4 in class. Deadline extended to May 6 in class.


    Schedule and readings


    Date Lec # Topic Readings/Notes/Slides/Handouts
    1/20 1 Intro; Computing Fibonacci numbers §2; Handout from Dasgupta et al.
    1/22 2 Fibonacci numbers contd., Divide & Conquer algorithms: searching and sorting §2, §5.1
    1/25 3 D&C: Mergesort; counting inversions §5.1, §5.2, §5.3, slides
    1/27 4 D&C: counting inversions, closest pair of points §5.3, Inversion demo, §5.4
    1/29 5 D&C: closest pair of points §5.4
    2/1 6 D&C: linear-time selection Notes on Piazza, Selection demo
    2/3 7 D&C: selection continued, integer multiplication §5.5
    2/5 8 Integer multiplication continued; Graphs §3.1
    2/8 9 Basic graph algorithms: BFS, DFS §3.2, 3.3, BFS demo, DFS demo
    2/10 10 Topological ordering, Shortest paths in graphs §3.5, 3.6, 4.4
    2/12 11 Shortest paths (Dijkstra's algorithm) §4.4, 2.5, Dijkstra's demo
    2/15 12 Minimum spanning trees §4.5
    2/17 13 MST continued §4.5, 4.6, demos: Prim's, Kruskal's
    2/19 14 Other greedy algorithms: interval scheduling §4.1, 4.2
    2/22 15 Weighted interval scheduling; Dynamic Programming §6.1, 6.2, demos: unweighted IS, weighted IS
    2/24 16 Dynamic Programming: interval scheduling contd., knapsack §6.2, 6.4
    2/26 17 DP: knapsack contd., segmented least squares §6.4, 6.3
    2/29 18 DP: segmented least squares, vertex cover on trees § 6.3, notes on Piazza
    3/2 19 DP: longest increasing subsequence §6.6, notes on Piazza
    3/4 20 DP: edit distance (sequence alignment) §6.6
    3/7 21 DP: edit distance in linear space §6.7
    3/9 22 DP: shortest paths: Bellman-Ford §6.8-10
    3/11 23 DP: shortest paths: Floyd-Warshall §6.8-10, notes on Piazza
    3/14 24 Randomized algorithms: computing Pi §13.3
    3/16 25 Randomized algorithms: probabilities, expectations, and coin flips §13.3, 13.12
    3/18 26 Analysis of Quicksort §13.5
    3/28 27 Quicksort continued §13.5
    3/30 28 Hashing §13.6
    4/1 29 Universal Hashing, Application to string matching §13.6
    4/4 30 String matching continued, network flow §7.1, 7.2
    4/6 31 Ford-Fulkerson algorithm, Max-flow min-cut theorem §7.2, 7.3, F-F demo
    4/8 32 Correctness of Ford-Fulkerson; Edmond-Karp algorithm §7.2, 7.3, notes on Piazza
    4/11 33 Applications of network flow §7.5, 7.6
    4/13 34 More applications of network flow §7.7, 7.9, 7.10, 7.11, 7.12
    4/15 35 More applications of network flow and min cut §7.7-7.12
    4/18 36 Limits of tractability, lower bounds on sorting and searching Notes on Piazza
    4/20 37 Finish sorting lower bound; Adversarial lower bounds Notes on Piazza
    4/22 38 The classes P and NP; P vs NP §8.1, 8.3
    4/25 39 NP-completeness; reductions §8.1, 8.2, 8.3
    4/27 40 Cook-Levin theorem §8.1, 8.2, 8.3
    4/29 41 More reductions and NP-Complete problems §8.4-8.6
    5/2 42 Yet more reductions; Beyond NP §8
    5/4 43 Coping with intractability
    5/5 44 Coping with intractability