CMPUT 301 Assignment 1.