Week 1: Sorting problem, time complexity, asymptotic analysis.
Week 2: Solving recurrence, Divide-and-Conquer.
Week 3: Quicksort and Heap Sort, Decision Tree.
Week 4: Linear time Sorting, Order Statistics.
Week 5: Hash Function, Binary Search Tree (BST) Sort.
Week 6: Randomly build BST, Red Black Tree, Augmentation of data structure.
Week 7: Van Emde Boas, Amortized analysis, Computational Geometry.
Week 8: Dynamic Programming, Graphs, Prim's Algorithms.
Week 9: BFS & DFS, Shortest path problem, Dijktra, Bellman Ford.
Week 10: All pairs shortest path, Floyd-Warshall, Johnson Algorithm.
Week 11: More amortized analysis, disjoint set data structure.
Week 12: Network flow, computational complexity.