Assignment 1 for CMPUT 301 Fall 2014