First Version of Programming Assignment 2