Programming Assignment 2

Completed with comments.