Spring 2009
CS581 home page | Syllabus | Schedule/Readings | Homework Assignments | Exam Study Guides |
Date | Topics | Readings | HW Assigned | HW Due |
Thurs. 1/08 | Part I: Advanced Algorithm Design and Analysis Asymptotic notation Recurrences |
Ch. 1, 3 |
HW 1 | |
Tues. 1/13 | Recurrences (con't.) Recursion tree method Master method Divide and Conquer: Mergesort |
Ch. 2, 4 |   | |
Thurs. 1/15 | Divide and Conquer (con't.): Strassen's Matrix Mult. Alg. Polynomial Multiplication | Ch. 28.1 - 28.2, 30.1 | HW 2 | HW 1 |
Tues. 1/20 | Divide and Conquer (con't.): Fast Fourier Transforms Introduction to Dynamic Programming |
Ch. 30.2, 15.1 | ||
Thurs. 1/22 | Dynamic Programming (con't.): Assembly-line scheduling Matrix-chain multiplication Elements of dynamic programming | Ch.15.1 - 15.3 | HW 3 | HW 2 |
Tues. 1/27 | No lecture; instructor on research travel Graduate student TA to work additional sample problems in class |
|||
Thurs. 1/29 | Dynamic Programming (con't.): Memoization Longest common subsequence Optimal binary search trees | Ch. 15.3 - 15.5 |
HW 4 | HW 3 |
Tues. 2/03 | Dynamic Programming (con't.): All-pairs shortest path |
Ch. 25.1 - 25.2 | ||
Thurs. 2/05 | Greedy Algorithms: Overview Activity Selection Huffman Codes | Ch. 16.1 - 16.3 | HW 5 | HW 4 |
Tues. 2/10 | Data Structures for Disjoint Sets Greedy Algs (con't.): Minimum Spanning Trees |
Ch. 21, Ch. 23 | ||
Thurs. 2/12 | Greedy Algs (con't.): Single-Source Shortest Paths Dijkstra's Alg. |
Ch. 24.2 - 24.3 | HW 6 | HW 5 |
Tues. 2/17 | Maximum Flow | Ch. 26.1 - 26.2 | ||
Thurs. 2/19 | Part II: Computational Complexity Background for complexity Complexity class NP |
Ch. 34 Introduction |   | HW 6 |
Tues. 2/24 |
Exam 1 (covers material through 2/12 & HW 6) |
|||
Thurs. 2/26 | Polynomial-time Polynomial-time verification |
Ch. 34.1-34.2 | HW 7 | |
Tues. 3/03 | Intro to NP-completeness: NP-completeness and reducibility Circuit-SAT |
Ch. 34.3 | ||
Thurs. 3/05 | NP-completeness proofs and NP-complete problems SAT, 3-CNF |
Ch. 34.4 | HW 8 | HW 7 |
Tues. 3/10 | NP-complete problems Clique, Vertex-Cover |
Ch. 34.5 | ||
Thurs. 3/12 | NP-completeness (con't.): Ham-Cycle, Traveling Salesman, Subset-Sum |
Ch. 34.5 | HW 9 | HW 8 |
Tues. 3/17 | No class; spring break |
|||
Thurs. 3/19 | No class; spring break |
|||
Tues. 3/24 | (no lecture; instructor on research travel) NP-completeness problem solving (by students) | HW 9 | ||
Thurs. 3/26 | (no lecture; instructor on research travel) NP-completeness problem solving (by students) |
  | ||
Tues. 3/31 | Part III: Additional Topics Approximation Algorithms Poly-time approx. for vertex-cover, Traveling salesman with triangle inequality Traveling salesman w/o triangle inequality |
Ch. 35.1 - 35.2 | ||
Thurs. 4/02 | Exam 2 (covers max flow and Part II material 2/17 - 3/26, HW 7-9) |
HW 10 | ||
Tues. 4/07 | In-class Exam #2 extra credit exercise Review Exam #2 Approximation Algs.(con't.): Poly-time approx. for set-cover |
Ch. 35.3 | ||
Thurs. 4/09 | Approximation Algs.(con't.): Randomized MAX-3-CNF SAT Fully poly-time approx scheme for subset-sum | Ch. 35.4-5 | ||
Tues. 4/14 | Computational Geometry (con't.) Line-segment properties Segment intersections | Ch. 33.1-33.2 |   |   |
Thurs. 4/16 | Computational Geometry (con't.) Convex hull Closest pair of points | Ch. 33.3-33.4 | HW 11 | HW 10 |
Tues. 4/21 | Number Theory/Encryption RSA public-key cryptosystem Elementary number theory Greatest common divisor |
Ch. 31.1, 31.2, 31.7 | ||
Thurs. 4/23 | Number Theory/Encryption (con't.) Modular arithmetic Euler's phi function Solving modular linear equations Powers of an element RSA encryption examples |
Ch. 31.3, 31.4, 31.6 | HW 11 | |
Thurs., 4/30 10:15 AM - 12:15 PM |
Final Comprehensive Exam |