CSCI 4144 Assignment 3