for Spring 2014 class, Nature of Code, taught by Danniel Shiffman