2nd Edition (Using Python 2.x)
by Jeffrey Elkner, Allen B. Downey, and Chris Meyers
Last Updated: February 1, 2012