COP4531 Programming Assignment 3