CS2105 Assignment 1