Spring 2010
CS581 home page | Syllabus | Schedule/Readings | Homework Assignments | Exam Study Guides |
Date | Topics | Readings | HW Assigned | HW Due |
Thurs. 1/14 | Introduction Asymptotic notation |
Ch. 1, 3 |
HW 1 | |
Tues. 1/19 | Divide and Conquer: Mergesort Recurrences Recursion tree method Master method |
Ch. 2, 4.0, 4.4 - 4.5 |   | |
Thurs. 1/21 | Master method (con't). Divide and Conquer (con't.): Maximum subarray problem Matrix multiplication |
Ch. 4.1 | HW 2 | HW 1 |
Tues. 1/26 |
Divide and Conquer (con't.) Strassen's algorithm for matrix multiplication Introduction to Dynamic Programming Rod cutting |
Ch. 4.2, Ch. 15.1 | ||
Thurs. 1/28 | Dynamic Programming (con't.): Matrix-chain multiplication |
Ch. 15.2 | HW 3 | HW 2 -- Part I |
Tues. 2/02 | Dynamic Programming (con't.) Elements of dynamic programming |
Ch. 15.3 | HW2 -- Part II | |
Thurs. 2/04 | Dynamic Programming (con't.): Longest common subsequence Optimal binary search trees |
Ch. 15.4 - 15.5 |
HW 4 | HW 3 |
Tues. 2/09 | Dynamic Programming (con't.): All-pairs shortest path |
Ch. 25.1 |   | |
Thurs. 2/11 | (no lecture, instructor
on research travel) TA to work/discuss additional dynamic programming problems |
HW 5 | HW 4 | |
Tues. 2/16 | Dynamic Programming (con't.): Floyd-Worshall Algorithm Greedy Algorithms: Introduction |
Ch. 25.2 Ch. 16.1 |
||
Thurs. 2/18 | Greedy Algorithms (con't.) Activity Selection Elements of greedy strategy Knapsack problems |
Ch. 16.1 - 16.2 | HW 5 | |
Tues. 2/23 |
Exam 1 (covers material Dyn. Pgmg. & HW 5) |
HW 6 | ||
Thurs. 2/25 | Review exam #1 solutions Greedy Algs (con't.): Huffman Codes |
Ch 16.3 | ||
Tues. 3/02 | Data Structures for Disjoint Sets Greedy Algs (con't.): Minimum Spanning Trees |
Ch. 21, 23 |   | |
Thurs. 3/04 | Greedy Algs (con't.): Maximum Flow |
Ch. 26.1 | HW 7 | HW 6 |
Tues. 3/09 | No class; spring break |
|||
Thurs. 3/11 | No class; spring break |
|||
Tues. 3/16 | Maximum Flow (con't.) | Ch. 26.2 | ||
Thurs. 3/18 | Number Theory/Encryption RSA public-key cryptosystem Elementary number theory Greatest common divisor |
Ch. 31.3, 31.2, 31.7 | HW 8 | HW 7 |
Tues. 3/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.2, 31.7 | ||
Thurs. 3/25 | Computational Geometry Line-segment properties Segment intersections |
Ch. 33.1-33.2 | HW 9 | HW 8 |
Tues. 3/30 | Computational Geometry (con't.) Convex hull Closest pair of points |
Ch. 33.3-33.4 |   | |
Thurs. 4/01 | Multithreaded Algorithms Basics |
Ch. 27.1 | HW 9 | |
Tues. 4/06 | Exam 2 (covers material 2/16 - 3/23 (Greedy through number theory/encryption), HW 6-9) |
HW 10 | ||
Thurs. 4/08 | Review exam #2 Multithreaded Algorithms (con't.) Multithreaded merge sort | Ch. 27.2 | ||
Tues. 4/13 | Multithreaded Algorithms (con'.t) Multithreaded matrix multiplication |
Ch. 27.3 | ||
Thurs. 4/15 | NP-completeness Introduction Complexity classes P and NP Reducibility | Ch. 34-34.2 | HW 11 | HW 10 |
Tues. 4/20 | NP-complete problems Circuit-SAT SAT, 3-CNF | Ch. 34.3-34.4 |   |   |
Thurs. 4/22 | NP-complete problems (con't). Clique, Vertex-Cover | Ch. 34.5.1-34.5.2 | HW 12 | HW 11 |
Tues. 4/27 | NP-complete problems (con't). Ham Cycle, TSP, Subset Sum |
Ch. 34.5.3-34.5.5 | ||
Thurs. 4/29 | Approximation Algorithms | Ch. 35.Intro - 35.2 | HW 12 | |
Friday, 5/07 8:00 - 10:00 AM |
Final Comprehensive Exam (with primary emphasis on last 1/3 of class) |