Python How to Program is a textbook for a basic course in programming based on the increasingly popular programming language, Python.
Python How to Program is a very complete textbook for learning Python.
This book is truly a textbook, right down to the duotone red and black printing, which takes me back to my school days. I had expected it to be more of a self-study book as published by other technical publishers, but this book is clearly meant to be used in a classroom environment.
Not only is the book over 1300 pages long, but every bit of it is packed with information
There are summaries and exercises at the end of each chapter, and a no-nonsense attitude about the whole book—and I say “whole book" as there is a lot of it. Not only is the book over 1300 pages long, but every bit of it is packed with information. This book is meant to bring you from no knowledge of programming right up to the current state of the art. It is, perhaps, a two-semester course at the junior college or college level.
The early chapters are, predictably enough, focused on the basics of programming: what a program is, how it represents instructions to the computer, and different kinds of models for code and data. It follows the newer “objects first" approach without great fanfare, as this is now becoming a conventional approach.
The late chapters are concerned with particular programming subject areas likely to be of interest to college-age students: web programming which is both a very useful job skill and something that Python excels at, but also databases and other areas of practical interest.
Who’s this book for?
This book is clearly a textbook for a conventional classroom environment. There are exercises for homework assignments, summaries, and everything you would expect for that environment.
Relevance to free software
Python may well be the programming language that most embodies free software ideals. Unlike similar languages, it was born and nurtured in a totally free environment. Its focus on ease of learning and above all on readability and self-documentation make it an ideal language to draw users into becoming developers. It is this affinity for free software community that most attracts me to the language.
As such, starting new programmers out in a language overwhelmingly dominated by free software developers has to be a good thing for the future of free software.
If I were preparing to teach a class in Python, I would seriously consider using this book
For a serious student, there is an enormous amount of material, and no foolishness to get in the way. This book has everything plus an extra kitchen sink in it about programming with Python, so it’s unlikely that you won’t find what you need (if you finish this book, you’ll have no problem going to the primary sources—the Python Library Reference and the Cheeseshop for anything you’re still missing).
If I were preparing to teach a full-semester class in Python, I would seriously consider using this book.
What there isn’t is any hand-holding. I was a bit disappointed to find that the friendly ant artwork on the cover is in fact the only real illustration commissioned for the book (although it’s duplicated at the beginning of each chapter). There are icons following the ant theme used to tag particular “gotchas" and other notables, but the overall impression is of density. Without the clear compulsion of a classroom regimen, I’m afraid this book would be difficult to finish, as it has a definite danger of overwhelming the student.
Terry Hancock is co-owner and technical officer of Anansi Spaceworks. Currently he is working on a free-culture animated series project about space development, called Lunatics as well helping out with the Morevna Project.