Tentative Course Schedule (subject to change)

   
  Date   Lecture Reading Assignment
Jan 16 Syllabus, Introduction, induction, Loop Invariant Background readings on Ed  
Jan 18 Stable Marriage 1.1 1 out
Jan 23 Complexity, Undirected graph traversal 2.1, 2.2, 3.1, 3.2  
Jan 25 Undirected/directed graph traversal 3.3, 3.4, 3.5 1 in, 2 out
Jan 30 Directed graph traversal, Intro to Greedy Algorithms 3.6, 4.1  
Feb 01 Greedy Algorithms 4.1 2 in, 3 out
Feb 06 Greedy algorithms, Minimum Spanning Trees 4.2, 4.4  
Feb 08 Minimum Spanning Trees: Kruskal's MST algorithm,
Prim's algorithm, Reverse delete algorithm
4.4, 4.5 3 in
Feb 13 Divide and Conquer 5.1  
Feb 15 TEST 1 covers all course material up to Feb 15  
Feb 20 Divide and Conquer: Merge Sort,
Recurrence relations: unrolling, Master method, Closest pair of points
5.1, notes1, 5.4 4 out
Feb 22 Dynamic programming 6.1, 6.2  
Feb 27 Dynamic programming: subset sum 6.4 4 in, 5 out
Feb 29 Sequence alignment, Bellman-Ford shortest paths algorithm 6.6, 6.8  
Mar 05 Ford-Fulkerson maximum-flow algorithm, Applications of maximum-flow algorithms 7.1 5 in, 6 out
Mar 07 Ford-Fulkerson maximum-flow algorithm, Max-flow min-cut theorem 7.1, 7.2  
Mar 12 Spring Break - no class  
Mar 14 Spring Break - no class
Mar 19 Max-flow min-cut theorem 7.7 6 in
Mar 21 TEST 2 covers all course material from Feb 20 to Mar 21  
Mar 26 Polynomial time reduction 8.1, 8.2, 8.3  
Mar 28 NP-Completeness 8.4 7 out
Apr 02 Graph coloring 8.7  
Apr 04 Approximation algorithms 11.1 7 in, 8 out
Apr 09 Approximation algorithms 11.6, 11.3  
Apr 11 PSPACE and PSPACE-completeness, Turning Machine 9.1, 9.2, notes2 8 in, 93 out
Apr 16 Undecidability, Halting problem notes2
Apr 18 Undecidability, Halting problem notes2  
Apr 23 Randomized algorithms, Randomized Quick Sort 13.3  
Apr 25 TEST 3 covers all course material from Mar 26 onward  
     
1The discussion about the Master method for solving recurrences is from Introduction to Algorithms, third edition by Cormen et al, Section 4.5 pp 93-96.
2The discussion about the Turing machine (undecidability and halting problem) is from Introduction to Theory of Computation by Michael Sipser, second edition, parts of ch3:3.1 and ch4.
3No need to submit the solution of this assignment.