CMPUT 301: Assignment 1