week 1: None.
week 2: Big-O Notations. [PDF]
week 3: Asymptotic Notations and Algorithm Runtime Analysis. [PDF]
week 4: Algorithm Design and Runtime Analysis. [PDF]
week 5: Hashing and Divide-n-Conquer. [PDF]
week 6: Recurrence Tree and Master Theorem. [PDF]
week 7: Heaps (max/min heap, algorithm design based on heaps). [PDF]
week 8: None (spring break)
week 9: Graph Fundamentals - representations, cycles, BFS. [PDF]
week 10: BFS, bipartite graphs, shortest path. [PDF]
week 11: DFS - acyclic graphs, connected components, topological sort. [PDF]
week 12: DFS and Dijkstra Algorithm. [PDF]
week 13: Dijkstra and Minimum Spanning Tree. [PDF]
week 14: Dynamic Programming. [PDF]
week 15: Dynamic Programming and Complexity Class. [PDF]
week 16: None (final week)