Useful links, animations, etc:
Date  Topic  Reading, Notes  Other WWW useful material  Assignments 
Sept 6  Introduction  KT chapter 1  Why algorithms? (Sedgewick, Princeton)  
Sept 8, 13, 15  Mathematical foundations

KT chapter 2  Program analysis (Princeton)
Zeno's paradoxes. 
H1.pdf (due Mon Sept 27) 
Sept 20  Priority queues: Heaps. Heapsort.  KT chapter 2  
Sept 22, 27, 29  DivideandConquer

KT chapter 5 
Merge (Princeton)
Mergesort (Princeton) Divideandconquer (Princeton) Matrix multiplication (Princeton) Closest pair (Princeton)  Demopartition  3way partition (Princeton) 
H2.pdf (due Wed Oct 13) 
Oct 4, 6  Sorting lower bounds. Linear time sorting (counting sort, radix sort, bucket sort)
Binary search trees. Redblack trees. 
Animations: Binary tree  Binary tree  RedBlack tree  
Oct 11  Fall break.  
Oct 13  Augmented RBtrees. Skiplists. 
RB Trees (MIT Open Courseware)  Animation  RBtrees (wiki)  
Oct 18, 20  Exam review, Exam 1  
Oct 25, 27  Graphs

KT chapter 3  Graph vizualizations (Sedgewick, Princeton)  H3.pdf (due Fri Nov 5th) 
Nov 1, 3, 8, 10, 15  Greedy algorithms.

KT chapter 4 (4.1, 4.4, 4.5, 4.6, 4.7)  Dijkstra/MST animation  another Dijkstra animation  Slides (Princeton)  UnionFind (Princeton)  H4.pdf (due Mon Nov 22nd) 
Nov 17, 22, 29  Dynamic programming.

KT chapter 6 ()  H5.pdf (due Mon Dec 6th)  
Nov 2428  Thanksgiving break  
Dec 1, 6  Topics: Amortization or network flow  
Dec 8  Review.  For other practice exams check links.
Fun read: Pessimal algorithms (Broder, Stolfi) 

December ?  Final Exam 