cs193p assignment 4