cs193P Assignment 4