I have a friend who I have been trying to help learn computer programming and I have a question on his behalf. He's interested in doing some biological modeling for his own research and needs to visualize his data using graphical elements, but he needs more power than can be found in Excel or similar solutions. I naturally sent him to Python as his language of choice, since he had no computer science background at all. Initially, he read "How to Think Like a Computer Scientist Using Python", but he has since moved on very quickly and is now looking for more.
I've thought about recommending Learning Python or Python in a Nutshell or Programming Python or some similar O'Reilly book. However, he needs some more CS background stuff and I'd like to recommend him to a resource that has some good CS concepts using Python in it. I'd also like to avoid books written as the typical "learn-this-language-in-24-hours-so-you-can-impress-your-boss/interviewer" publication. Any suggestions from Python programmers out there?
Update: thanks to everyone for their great suggestions! Any thoughts on making this a community wiki? I'm new to SO and don't know what the culture around that is.
Update 2: I just made it a CW since I didn't feel right picking one answer as they were all good. Thanks again!