CS581: Schedule/Readings

Spring 2009


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

Subject to change. Check back frequently for updates.
Last updated: April 23, 2009

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