Code and notes from Peter Norvig's Design of Computer Programs (Udacity)