CS3060 Assignment 4