Lecture Notes
Lecture 0 Notes -- Coin Flipping, 1/15 and 1/20: PDF
Other Coin Flipping Notes: PDF
Notes 1, 1/25: PDF -- Algorithm Overview, Fibonacci
Notes 2, 1/27: PDF -- O notation, recurrences, mergesort
Notes 3, 2/1: PDF -- Graphs, DFS
Notes 4, 2/3: PDF -- BFS, Weighted graphs, Djikstra's
Notes 5, 2/8: PDF -- Minimum Spanning Trees
Notes 6, 2/10: PDF -- Union Find
Notes 7, 2/17: PDF -- Greedy Algorithms
Notes 8, 2/22: PDF -- Divide and Conquer
Notes 9, 2/24,3/3: PDF -- Dynamic programming (full)
Notes 10, 3/10: PDF -- Hashing + Bloom Filters
[If you want to see the survey article from long ago on Applications of Bloom Filters, here it is -- not required reading]Notes 11, 3/15: PDF -- Fingerprinting
Notes 12, 3/22: PDF -- Document similarity
[If you want to see the slides for locality sensitive hashing, they can be found here -- not required. But I gave something like the class lecture as an intro to some work on computational biology done at the Broad Institute you might find interesting.]Notes 13, 3/24: PDF -- Primality testing
Notes 14, 3/24: PDF -- RSA Cryptography
Notes 15, 3/29: PDF -- 2SAT
Notes 16, 4/5: PDF -- Linear Programming
Notes 17, 4/7: PDF -- Network Flow