COMP317 Assignment 1