Princeton's algorithms course on coursera (https://class.coursera.org/algs4partI-003/class)