Schedule at a glance

Week 1, 2, 3Introduction and review (bubble sort, insertion sort, selection sort, best case and worst cases analysis). Analysis tools (asymptotic notation, summations, recurrences). 
Week 4, 5, 6Efficient sorting (mergesort, heapsort, quicksort, randomized quicksort). Sorting lower bound, bucket sort and counting sort. Selection (quick-select and O(n) worst-case selection) 
Week 7, 8, 9, 10Techniques (divide-and-conquer, dynamic programming and greedy). 
Week 11, 12, 13Graphs basics, shortest paths (shortest paths on DAGs, Dijkstra’s and Bellman-Ford algorithms) and minimum spanning trees (Kruskal’s and Prim’s algorithms)