Assignment 1 for COMP30007.