CS3213 Assignment 1