CPSC 501 - Assignment 2