Assignment 3, csc209, 2013