CPSC 501 Assignment 3