Spring 2005
| CS581 home page | Syllabus | Schedule/Readings | Homework Assignments | Exams and Grading |
| Date | Topics | Readings | HW Assigned | HW Due |
| Thurs. 1/13 | Part I: Advanced Algorithm Design and Analysis Asymptotic notation, Recurrences |
Ch. 1, 3.1, 4.1 - 4.3 | HW 1 | |
| Tues. 1/18 | Divide and Conquer: Mergesort Strassen's Matrix Mult. Alg. |
Ch. 28.1 - 28.2 |   | |
| Thurs. 1/20 | Divide and Conquer (con't.): Polynomial Multiplication Fast Fourier Transforms |
Ch. 30.1 - 30.2 | HW 2 | HW 1 |
| Tues. 1/25 | Summary of Divide and Conquer Dynamic Programming: Assembly-line scheduling Matrix-chain multiplication |
Ch. 15.1 - 15.2 | ||
| Thurs. 1/27 | Dynamic Programming (con't.): Elements of dynamic programming Longest common subsequence |
Ch.15.3 - 15.4 | HW 3 | HW 2 |
| Tues. 2/01 | Dynamic Programming (con't.): Optimal binary search trees |
Ch.15.5 | ||
| Thurs. 2/03 | Dynamic Programming (con't.): All-pairs shortest path | Ch.25.1-25.2 |
HW 4 | HW 3 |
| Tues. 2/08 | Greedy Algorithms: Overview Activity Selection Huffman Codes |
Ch.16.1 - 16.3 | ||
| Thurs. 2/10 | Data Structures for Disjoint Sets Greedy Algs (con't.): Minimum Spanning Trees | Ch. 21 Ch. 23 | HW 5 | HW 4 |
| Tues. 2/15 | Greedy Algs (con't.): Single-Source Shortest Paths Dijkstra's Alg. Maximum Flow |
Ch. 24.2 - 24.3 Ch. 26.1 - 26.2 |
||
| Thurs. 2/17 | TA Review for exam, Q&A (No lecture; instructor out of town) |
|||
| Tues. 2/22 | Maximum Flow (con't.) | HW 5 | ||
| Thurs. 2/24 | Exam 1 (covers material through 2/22 & HW 5) |
HW 6 | ||
| Tues. 3/01 | Part II: Computational Complexity Background for complexity Polynomial-time verification Complexity class NP |
Ch. 34.1 - 34.2 | ||
| Thurs. 3/03 | Intro to NP-completeness: NP-completeness and reducibility Circuit-SAT |
Ch. 34.3 | HW 7 | HW 6 |
| Tues. 3/08 | NP-completeness proofs and NP-complete problems SAT, 3-CNF, Clique |
Ch. 34.4 - 34.5 | ||
| Thurs. 3/10 | NP-complete problems Vertex-Cover, Ham-Cycle |
Ch. 34.5 | HW 8 | HW 7 |
| Tues. 3/15 | NP-completeness (con't.): Traveling Salesman, Subset-Sum |
|||
| Thurs. 3/17 | Approximation Algorithms Poly-time approx. for vertex-cover, traveling salesman |
Ch. 35.1 - 35.2 | HW 9 | HW 8 |
| Tues. 3/22 | No class; spring break |
|||
| Thurs. 3/24 | No class; spring break |
|||
| Tues. 3/29 | Approximation Algs.
(con't.): Poly-time approx. for set-cover, subset-sum |
Ch. 35.3 - 35.5 | ||
| Thurs. 3/31 | Part III: Additional topics Linear Programming: Introduction Standard and slack forms |
Ch. 29.1 | HW 9 | |
| Tues. 4/05 | TA Review for Exam (No lecture; Instructor on travel) |
  | ||
| Thurs. 4/07 | Exam 2 (covers Part II material 3/01 - 3/29, HW 7-9) |
|||
| Tues. 4/12 | Linear Programming (con't.): Formulating problems Simplex algorithm | Ch. 29.2 - 29.3 | HW 10 | |
| Thurs. 4/14 | Linear Programming (con't.): Duality Initial basic feasible solution |
Ch. 29.4 - 29.5 | HW 11 | |
| Tues. 4/19 | [TA lecture; instructor on travel] Computational Geometry (con't.): Line-segment properties Segment intersections | Ch. 33.1 - 33.2 | ||
| Thurs. 4/21 | [TA lecture; instructor on travel] Computational Geometry (con't.): Convex hull Closest pair of points |
Ch. 33.3 - 33.4 | HW 10 | |
| Tues. 4/26 | Using Linear Programming to solve weighted vertex cover Course wrapup | Ch. 35.4b | ||
| Friday, 4/29 12:00 noon |
(Homework 11 due to instructor's office) | HW 11 | ||
| Thurs., 5/05 8:00 - 10:00 AM |
Final Comprehensive Exam |