Udacity CS253 Final Code