Schedule

This schedule is tentative, and will be updated as the semester progresses.

Week 1

Week 2

Week 3

Week 4

Week 5

Week 6

  • Topic: Dynamic programming.
    Notes: L-dynprogr | ex-rod
  • Reading Assignment: CLRS 15.1
  • LabLab6  (dynamic programming)

Week 7

  • Topic: Dynamic programming and greedy algorithms.
    Notes: L-LCS | L-weightedinterval | L-greedy
  • Reading Assignment: CLRS 15.4, 16.1, 16.2
  • Lab: Lab7 (more dynamic programming and greedy)

Week 8

Week 9

  • Topic: Graphs: Topological sort. Strongly connected components.
    Notes: L-topsort | L-scc
  • Reading Assignment: CLRS 22.4, 22.5
  • LabLab9 (graphs)

Week 10

  • Topic: Graphs: Minimum spanning tree (Kruskal and Prim’s algorithms). Union-find structure.
    Notes: L-mst
  • Reading Assignment: CLRS 23
    Internet: Lecture slides greedy-algorithms (source:http://www.cs.princeton.edu/~wayne/kleinberg-tardos/pdf/04GreedyAlgorithmsII.pdf) | Kruskal demo demo-kruskal (source: http://www.cs.princeton.edu/~wayne/kleinberg-tardos/pdf/04DemoKruskal.pdf) | Prim demo demo-prim (source: http://www.cs.princeton.edu/~wayne/kleinberg-tardos/pdf/04DemoPrim.pdf) by Kevin Wayne.
  • LabLab10 (graphs)

Week 11

  • Topic: Graphs: Single-source shortest paths (Bellman-Ford and Dijkstra’s algorithms).
    Notes: L-shpaths
  • Reading Assignment:  CLRS 24.1-24.3
    Dijkstra demo by Kevin Wayne demo-dijkstra (source: http://www.cs.princeton.edu/~wayne/kleinberg-tardos/pdf/04DemoDijkstra.pdf)
  • LabLab11 (graphs)

Week 12

  • Topic: Last class: Crash course into NP-completeness.
    Questions from technical interviews.
  • Reading Assignment: (CLRS 34)
    Internet: Lecture slides by Kevin Wayne intractability (source: http://www.cs.princeton.edu/~wayne/kleinberg-tardos/pdf/08IntractabilityI.pdf)

Exam 2 will be in-class,  on (check final exam date in polaris).