Class participation grades will be based on presentation of homework problems.
Homework Assignments will be assigned on the Wednesday of each week and are due the following Wednesday at 2359 hours in hardcopy. The homework assignments must be typeset in LaTeX with the homework number and your name displayed clearly on the front page. Please use one of the algorithms latex package (see wikibook) to typeset pseudocode (algorithmic.sty is recommended).
Week  Date  Topic  Readings  Videos  Remarks 

1  Mon Jan 13  Course Organization  Ch 1.  
1  Wed Jan 15  Sorting  Ch 24 
Asymptotics. (screencast) SelectionSort. (screencast) InsertionSort. (screencast) MergeSort. (screencast) Reccurences. (screencast) 
Problems 22 and 24. 
2  Mon Jan 20  MLK Holiday  
2  Wed Jan 22  Sorting  Ch.6 
Heaps. (screencast) HeapSort. (screencast) 
Problem 63. hw01 (pdf). (tex). 
3  Mon Jan 27  Sorting  Ch.7 
Quicksort. (screencast) Worst Case. (screencast) Avg Case. (screencast) 
Problems 75, 76. 
3  Wed Jan 29  Sorting  Ch.8 
Lower Bounds. (screencast) Counting Sort. (screencast) Radix Sort. (screencast) Bucket Sort. (screencast) 
Problems 82, 83. 
4  Mon Feb 3  Order Statistics & Binary Search Trees  Ch.9,12 
Min Max. (screencast) Partition. (screencast) Median of medians. (screencast) 

4  Wed Feb 5  Redblack Trees & Interval Trees  Ch.13,14 
Binary Search Trees. (screencast) Red Black Trees. (screencast) Order Stats Tree. (screencast) Interval trees. (screencast) 
hw02 (pdf). (tex). 
5  Mon Feb 10  Amortized Analysis  Ch.17 
Amortized Analysis. (screencast) Aggregate Mtd. (screencast) Acct Mtd. (screencast) Potential Mtd. (screencast) Dynamic Tables. (screencast) 
Problems 171, 172. 
5  Wed Feb 12  Binomial Heaps 
Binomial Heaps 1. (screencast) Binomial Heaps 2. (screencast) Binomial Heaps 3. (screencast) 
notes (pdf).  
6  Mon Feb 17  President's Day Holiday  
6  Wed Feb 19  Fibonacci Heaps  Ch.19 
Fib Heaps 1. (screencast) Fib Heaps 2. (screencast) Fib Heaps 3. (screencast) Fib Heaps 4. (screencast) Fib Heaps 5. (screencast) 
Problem 193, 194. 
7  Mon Feb 24  Dynamic Programming  Ch.15 
DP1. (screencast) DP2. (screencast) DP3. (screencast) 
Problem 152. 
7  Wed Feb 26  Greedy Algorithms  Ch.16 
Scheduling 1. (screencast) Scheduling 2. (screencast) Knapsack. (screencast) 
Problem 161. hw03(pdf). (tex). 
8  Mon Mar 3  Hashing  Ch.11 
Hashing 1. (screencast) Hashing 2. (screencast) Hashing 3. (screencast) 
Problem 111. 
8  Wed Mar 5  Hashing  Ch.11 
Hashing 4. (screencast) Hashing 5. (screencast) Hashing 6. (screencast) Hashing 7. (screencast) Hashing 8. (screencast) 
Cuckoo Hashing. 
9  Mon Mar 10  Graph Algorithms:BFS,DFS,SCC,MST  Ch.2223 
BFS. (screencast) DFS Topo Sort. (screencast) SCC. (screencast) MST. (screencast) 
Problem 222. 
9  Wed Mar 12  Graph Algorithms: SSSP  Ch.24 
Bellman Ford. (screencast) Dijkstra. (screencast) Diff Constraints. (screencast) 
Problem 222. 
10  Mon Mar 17  Project Proposals  4 min presentations.  
10  Wed Mar 19  Graph Algorithms: APSP  Ch.25 
DP. (screencast) Floyd Warshall and Johnsons. (screencast) 
Problem 243. 
11  Mon Mar 24  Spring Recess  
11  Wed Mar 26  Spring Recess  
12  Mon Mar 31  Graph Algorithms:MaxFlow  Ch.26 
Problem. (screencast) Aug Paths. (screencast) algos. (screencast) Max Matching. (screencast) 
Problem 262. 
12  Wed Apr 2  NPCompleteness  Ch.34 
Abstract problems. (screencast) Encoding. (screencast) Languages. (screencast) Verification. (screencast) 

13  Mon Apr 7  NPCompleteness  Ch.34 
NPC. (screencast) TM. (screencast) NDTM. (screencast) 
CookLevin Theorem Proof (see handout). 
13  Wed Apr 9  NPCompleteness  Ch.34 
SAT to 3SAT. (screencast) SAT to 3SAT Proof. (screencast) 3SAT to VC. (screencast) 3SAT to VC Proof. (screencast) 
Problem 343. Optional hw04 (pdf). 
14  Mon Apr 14  NPCompleteness  Ch.34  Reductions.  
14  Wed Apr 16  Approximation Algo  Ch.35 
Vertex Cover. (screencast) Randomized Algo. (screencast) 
Problem 351. 
15  Mon Apr 21  B Trees, B+ Trees, Parallel Disk Model.  Ch.18, Vitter's IO Book (pdf) Ch. 1,2,5,11.  None  Inclass lecture. 
15  Wed Apr 23  Compression Algorithms: Huffman Trees, LZW, BWT  Dynamic Huffman Codes Ch 16.3, LZW, BWT.  Huffman Trees and LZW Animation  
16  Mon Apr 28  Guest Lecture from Prof. Nodari  
16  Wed Apr 30  Project Presentations  
17  Mon May 5  Project Presentations  
17  Wed May 7  Project Presentations 