“How to Think Like a Computer Scientist: Learning with Python” is an introduction to computer science using the Python programming language. It covers the basics of computer programming, including variables and values, functions, conditionals and control flow, program development and debugging. Later chapters cover basic algorithms and data structures.
Peter Wentworth, Jeffrey Elkner, Allen B. Downey, Chris Meyers