Programming assignment 2 final

This is the final version of the Programming Assignment 2