CMPUT 379 Assignment 3