Spring 2013
CS581 home page | Syllabus | Schedule/Readings | Homework Assignments | Piazza Discussions | Exam Study Guides |
Date | Topics | Readings | HW Assigned | HW Due |
Thurs. 1/10 | TA lecture; instructor on travel Introduction Asymptotic notation |
Ch. 1, 3 |
HW 1 | |
Tues. 1/15 | Divide and Conquer: Mergesort Recurrences Recursion tree method |
Ch. 2, 4.0, 4.4 |   | |
Thurs. 1/17 | Master method Divide and Conquer (con't.): Matrix multiplication Strassen's algorithm for matrix multiplication |
Ch. 4.2, 4.5 | HW 2 | HW 1 |
Tues. 1/22 |
Divide and Conquer (con't.) Maximum subarray problem Introduction to Dynamic Programming Rod cutting |
Ch. 4.1, Ch. 15.1 | ||
Thurs. 1/24 | Dynamic Programming (con't.): Matrix-chain multiplication |
Ch. 15.2 | HW 3 | HW 2 |
Tues. 1/29 | Dynamic Programming (con't.) Elements of dynamic programming Longest common subsequence |
Ch. 15.3 - 15.4 | ||
Thurs. 1/31 | Dynamic Programming (con't.): Optimal binary search trees |
Ch. 15.5 |
HW 4 | HW 3 |
Tues. 2/05 | Review of Graph Algorithms Dijkstra's (greedy) algorithm for SSSP | Ch. 22, 24.0, 24.2, 24.3 |   | |
Thurs. 2/07 |
Dynamic Programming (con't.): All-pairs shortest path |
Ch. 25.1 | HW 5 | HW 4 |
Tues. 2/12 |
Dynamic Programming (con't.): Floyd-Worshall Algorithm |
Ch. 25.2 | ||
Thurs. 2/14 |
Greedy Algorithms Introduction Activity Selection Elements of greedy strategy Knapsack problems | Ch. 16.1, 16.2 | HW 6 | HW 5 |
Tues. 2/19 |
Greedy Algs (con't.): Huffman Codes Data Structures for Disjoint Sets |
Ch. 16.3, Ch. 21 |   | |
Thurs. 2/21 |
Greedy Algorithms (con't.) Minimum Spanning Trees |
Ch. 23 | HW 6 | |
Tues. 2/26 | Class led by TA; instructor on travel Review for Exam 1 | |||
Thurs. 2/28 |
Exam 1 (covers material through Dyn. Pgmg. & HW 1-6) |
HW 7 | ||
Tues. 3/05 |
Discuss Exam #1 solutions Greedy Algs (con't.): Maximum Flow |
Ch. 26 | ||
Thurs., 3/07 |
Greedy Algs (con't.): Maximum Flow (con't.) |
Ch. 26 | HW 8 | HW 7 |
Tues. 3/12 | Multithreaded Algorithms Introduction | Ch. 27.1 | ||
Tues. 3/14 | Multithreaded Algorithms (con'.t) Multithreaded matrix multiplication Multithreaded merge sort |
Ch. 27.2, 27.3 | HW 9 | HW 8 |
Tues. 3/19 |
Number Theory/Encryption RSA public-key cryptosystem Elementary number theory |
Ch. 31.7, 31.1 |   | |
Thurs. 3/21 |
Number Theory/Encryption (con't.) Greatest common divisor Modular arithmetic Euler's phi function Solving modular linear equations Powers of an element RSA encryption examples |
Ch. 31.2-6 | HW 10 | HW 9 |
Tues. 3/26 | No class; spring break | |||
Thurs. 3/28 | No class; spring break | |||
Tues. 4/02 | Brief review for Exam 2 Randomized Algorithms |
Ch. 5.1-5.3 | HW 10 | |
Thurs. 4/04 | Exam 2 (covers material since Exam 1; HW 6-10) |
|||
Tues. 4/09 | Discuss Exam #2 solutions Randomized Algorithms (con't.) Randomized Quicksort Randomized Selection |
Ch. 7 Ch. 9.2 |
||
Thurs. 4/11 | Introduction to Approximation Algs. Randomized Algs. (con't.) Randomized approx. for MAX-3-CNF |
Ch. 35 (intro) Ch. 35.4 |
HW 11 | |
Tues. 4/16 | Linear Programming Introduction Standard form |
Ch. 29.1 | ||
Thurs. 4/18 | Linear Programming (con't.) Slack form Formulating problems Simplex method |
Ch. 29.2-29.3 | HW 12 | HW 11 |
Tues. 4/23 | TA lecture; instructor on travel Linear Programming (con't.) Duality Initial basic feasible solution |
Ch. 29.4-29.5 | ||
Thurs. 4/25 | (Last class!) Linear Programming (con'.t) LP in vertex cover approx. alg. Wrap up course |
Ch. 35.4 | ||
Tues. 4/30, Noon | No class, but homework is due at Noon | HW 12 | ||
Monday, 5/06 10:15AM - 12:15PM |
Final Comprehensive Exam (with primary emphasis on last 1/3 of class) |