CS581: Schedule/Readings

Spring 2012


CS581 home page Syllabus Schedule/Readings Homework Assignments Piazza Discussions Exam Study Guides

TENTATIVE ONLY. Subject to change. Check back frequently for updates.
Last updated: April 24, 2012


Date Topics Readings HW Assigned HW Due
Thurs. 1/12 Introduction
   Asymptotic notation
Ch. 1, 3
HW 1  
Tues. 1/17 Divide and Conquer:
   Mergesort
Recurrences
     Recursion tree method
Ch. 2, 4.0, 4.4    
Thurs. 1/19 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/24 Divide and Conquer (con't.)
    Maximum subarray problem
Introduction to Dynamic Programming
   Rod cutting
Ch. 4.1, Ch. 15.1    
Thurs. 1/26 Dynamic Programming (con't.):
   Matrix-chain multiplication
Ch. 15.2 HW 3 HW 2
Tues. 1/31 Dynamic Programming (con't.)
   Elements of dynamic programming
   Longest common subsequence
Ch. 15.3 - 15.4    
Thurs. 2/02 Dynamic Programming (con't.):
   Optimal binary search trees
Ch. 15.5
 
HW 4 HW 3
Tues. 2/07 Review of Graph Algorithms
Dijkstra's (greedy) algorithm for SSSP
Ch. 22, 24.0, 24.2, 24.3    
Thurs. 2/09 Dynamic Programming (con't.):
   All-pairs shortest path
Ch. 25.1 HW 5 HW 4
Tues. 2/14 Dynamic Programming (con't.):
   Floyd-Worshall Algorithm
   Assembly line scheduling
Ch. 16.2    
Thurs. 2/16 Greedy Algorithms
   Introduction
   Activity Selection
   Elements of greedy strategy
   Knapsack problems
Ch. 16.1, 16.2   HW 5
Tues. 2/21 Exam 1 (covers material through
    Dyn. Pgmg. & HW 1-5)
     
Thurs. 2/23 Review exam #1 solutions
Greedy Algorithms (con't.)
   Huffman Codes
Ch. 16.3 HW 6  
Tues. 2/28 Greedy Algs (con't.):
   Data Structures for Disjoint Sets
   Minimum Spanning Trees
Ch. 21, 23    
Thurs. 3/01 Greedy Algs (con't.):
   Minimum Spanning Trees (con't.)
   Maximum Flow
Ch. 23, Ch. 26.1 HW 7 HW 6
Tues. 3/06 Greedy Algs (con't.):
  Maximum Flow (con't.)
Ch. 26.2    
Thurs. 3/08 Computational Geometry
  Line-segment properties
  Segment intersections
Ch. 33.1-33.2 HW 8 HW 7
Tues. 3/13 (No class, due to EECS IAB Meeting)      
Thurs. 3/15 Computational Geometry (con't.)
  Convex hull
Ch. 33.3 HW 9 HW 8
Tues. 3/20 No class; spring break
     
Thurs. 3/22 No class; spring break      
Tues. 3/27 Computational Geometry (con't.)
  Finding closest pair of points
Number Theory/Encryption
  RSA public-key cryptosystem
  Elementary number theory
Ch. 33.4

Ch. 31.7, 31.1

   
Thurs. 3/29 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, 31.3, 31.4, 31.6   HW 9
Tues. 4/03 Exam 2 (covers material on greedy algs. thru
computational geometry, HW 6-9)
  HW 10  
Thurs. 4/05 Review Exam #2
Multithreaded Algorithms
  Introduction
Ch. 27.1    
Tues. 4/10 Multithreaded Algorithms (con'.t)
  Multithreaded matrix multiplication
Ch. 27.2    
Thurs. 4/12 Multithreaded Algorithms (con'.t)
  Multithreaded merge sort
NP-completeness
  Introduction
Ch. 27.3

Ch. 34 intro.
HW 11 HW 10
Tues. 4/17 NP-completeness (con't.)
  Complexity classes P and NP
Ch. 34 intro.    
Thurs. 4/19 NP-completeness (con't).
  Reducibility
  Circuit-SAT
Ch. 34.1-34.3 HW 12 HW 11
Tues. 4/24 NP-completeness (con't.)
  SAT
  3-CNF-SAT
  Clique
  Vertex Cover
Ch. 34.4-34.5    
Thurs. 4/26 Approximation Algs.
  Introduction
  Approx. for Vertex Cover
  TSP approximation
Ch. 35.0-35.2   HW 12
Thursday, 5/03
2:45 - 4:45 PM
Final Comprehensive Exam
(with primary emphasis on last 1/3 of class)