Coursera's Systematic Program Design homework