Code for the following course: https://www.udacity.com/course/cs222