Think Python

by Allen Downey

How to Think Like a Computer Scientist

by Allen B. Downey, Peter Wentworth, Jeffrey Elkner, and Chris Meyers