Part 1 of Programming Assignment 3