Programs for Algorithms: Design and Analysis by Tim Roughgarden on courserahttps://class.coursera.org/algo-006