CS193P Assignment 2