CS4780 Assignment 4