CS581: Schedule/Readings

Spring 2010


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

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

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)