Mr. Shaw, i am once again impressed. This is not the first time I've seen Zed Shaw rant about something he dislikes and then goes off and attempts to fix it.
So far, the exercises do look like their targeted to the total beginner, but my money is that most programmers learn Python as their nth language, where n > 2. I say "so far" in hopes that he eventually gets enough exercises in the book that the material included now is just a small part of the finished work.
Doh! VB index alert: The exercises are 0-based and the steps are 1-based. ;-)
"but my money is that most programmers learn Python as their nth language, where n > 2."
Off the top of my head, I know at least 3 Universities (near me in Canada: UBC, SFU, UofC) that have recently switched to Python as the first language taught/used in their CS programs.
There is a real demand for intro Python books. And IMHO Python is a pretty good first language.
I think the Head First series is actually quite good for teaching Python as a first language.
I recently purchased the Python one (it's just called Head First Programming from memory) for a friend who wanted to start with coding and she picked the basic concepts up pretty quickly.
SFU still requires their students to learn Java. Python is the introductory programming language of choice, and the introductory programming course is centered around it, but it isn't a requirement. (reference: http://www.cs.sfu.ca/undergrad/Advising/programs/majors.html ; I'm also close to the associate dean).
That being said, Python is a wonderful language to get started in programming.
My thinking is actually this: Python is a weird language that sits between C and Smalltalk It has odd idioms from C and strange constructs from Smalltalk which you don't really find in other languages. It's also very easy to type with a lot less "signpost junk" in it. My idea (totally unfounded) is that will make it easier for people to type it in, and also teach them the little secret idioms found in languages on both ends of the spectrum.
Also, there will be a few jokes about cardinal vs. ordinal numbers.
Except for some dabling in basic, max/msp and some proprietary scripting stuff, Python was the first language I learned. It was certainly the first one I learned to program in.
Coming to Python with previous programming experience, I was impressed by the Google Python Class. It feels like it crammed my usual first few weeks/months of "oh you can do it like that" moments into a couple of hours. Which makes sense as I believe it's what they give to new hires there who don't already know Python.
FWIW I didn't watch the videos, I just read over the webpages.
Anecdote of one, my 12 yo son is learning Python as his first programming language. I just helped him through one of his math homework questions in Python; found a homework error. :)
A few weeks ago, I finally gave in and tried to learn Python. It is surprisingly easier to learn. From a guy with mostly C and Perl experience, it takes good parts from both. I was writing code in only a few days. It's also easier with StackOverflow and Google, of course!