Programming Assignment 2, Nov. 20 2014