Programming problems from Stanford Algorithms: Design and Analysis, Part 1 class on Coursera