COP4656 Assignment 1