COMP345 Assignment 1