Primary course 
CS 583 (Design and Analysis of Algorithms)

Primary textbook 
Intro to Algorithms (3rd ed). Cormen, Leiserson, Rivest, Stein 

Topics  Description  Readings 
Foundations  function growth: O, theta, omega notation  Cormen 3 
recurrence relations  Cormen 4 
probabilistic analysis; randomized algorithms  Cormen 5 
amortized analysis  Cormen 17 
dynamic programming  Cormen 15 
greedy algorithms  Cormen 16.1-3 
Sorting  heapsort, quicksort, mergesort  Cormen 6, 7, 2 
non-comparison-based  Cormen 8 
selection / order statistics  Cormen 9 
Data Structures  balanced binary search trees  Cormen 12, 13 
hash tables  Cormen 11 
heaps / priority queues  Cormen 6.5, 19 
Graph Algorithms  breadth/depth-first search  Cormen 22 
minimum spanning trees  Cormen 23 
shortest paths  Cormen 24, 25 
maximum flow  Cormen 26.1-3 
Complexity  NP-completeness  Cormen 34