Teaching Ruby to High School Girls
interesting observations on exposing newbies to programming. all early programs should be have a very short iterative cycle, and ideally/importantly have a visual and interactive aspect (think shoes, processing, nodebox, javascript in the browser, etc.). making a change and seeing your change right away is powerful.
Source: teachingkids.railsbridge.org