Source code and my solution for Udacity CS212, taught by Peter Norvig.