Rough schedule for 332 Summer quarter
Week 1: Introduction; Stacks & Queues; Start Math Review; Algorithm & Asymptotic Analysis; Priority Queues
Week 2: More Priority Queues/Binary Heaps; Dictionaries; Binary Search Trees; AVL Trees
Week 3: Holiday; Memory Hierarchy; BTrees
Week 4: Hashing; Introduction to sorting; About the midterm
Week 5: Midterm; Comparison sorting; Beyond comparison sorting
Week 6: Introduction to graphs; Introduction to multithreading & fork-join parallelism; Analysis of Fork-Join Parallel Programs; Parallel Prefix
Week 7: Finish Parallel Prefix; Parallel Sorting; Amortized Analysis; Concurrency and Mutual Exclusion; Locks and Critical Sections
Week 8: Remaining Topics in Shared-Memory Concurrency; Topological Sort; Graph Traversals; Shortest Paths; Start MST
Week 9: Minimum Spanning Trees; A Few Words on NP; About the final; Final