COMP5212 Assignment 2