| 
    Week 1
     
    Week 2
     
       No class -- Independence Day (Academic Edition)
       DP: Classic problems: Knapsack, chain multiplication, LCS, string reconstruction
       DP: Continued
       Reinforcement/Slack
       Exam #1: MOVED TO MONDAY
       Exam 1 Practice Solutions 
     
    Week 3
     
       Sorting: Quadratic sorts, Quicksort 
       Sorting: Binary Heaps and Heap sort, Binomial Heaps
       Sorting: Radix sort, Search Trees
       Sorting: AVL and Splay Trees
       Sorting: B-Trees, Tries, Extensible Hashing
       Style Guide
     
    Week 4
     
       Compression: Huffman coding
       Compression: String compression, LZW compression
       Finite Automaton
       Reinforcement/Slack
       Exam #2
     
    Week 5
     
       String Matching: Knuth-Morris-Prat
       String Matching: Aho-Corasick, Rabin-Karp
       Graphs: Representation and Traversals
       Graphs: Greedy Algorithms and Shortest Path
       Graphs: Spanning Trees, Minimum Spanning Trees
     
    Week 6
     
       Graphs: Cycle Detection with Union-Find, more Minimum Spanning Trees
       Graphs: Bellman-Ford, Floyd-Warshall
       Computability
       Slack/Review/Spare
       Exam #3
     |