COMP20 Assignment 1