CS6300 Assignment 4