"Learning Processing" is a 2008 book that serves as a gentle introduction to the theory and practice of programming. It works by introducing code concepts over the course of 23 chapters, and creating a series of examples that build on the sketches that you write over the course of the book. "Learning Processing" is written by Daniel Shiffman of the ITP in New York City. More information about the book can be found at: http://www.learningprocessing.com/