Anyone who is interested in teaching programming to novices or non-programmers should check out what Zed Shaw is doing:
I’ve had an idea for an introductory book on programming that follows the model of “trainer” books for learning a musical instrument. Most of these books are organized like this:
- There’s a bunch of exercises.
- Each exercise is 1 or 2 pages.
- There’s only a little bit of prose.
- You do each exercise exactly, then move on.
The results are at Learn Python the Hard Way.