Code and homework for Tim Roughgarden's Coursera course-- Algorithms: Design and Analysis