My solution to Programming Assignment 2.