University of Alberta CMPUT 391 Winter 2014 term project