Stanford's cs193p 2012 first assignment