How to Think Like a Computer Scientist: Learning with Python
by Jeffrey Elkner, Allen B. Downey, Chris Meyers
Publisher: Green Tea Press 2012
This 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.
Home page url
Download or read it online for free here:
by Mark Guzdial - Georgia Institute of Technology
Guzdial introduces programming as a way of creating and manipulating media -- a context familiar to today's readers. Starts readers with actual programming early on. Puts programming in a relevant context (Computing for Communications).
by Zed A. Shaw
This is a very beginner book for people who want to learn to code. If you can already code then the book will probably drive you insane. It's intended for people who have no coding chops to build up their skills before starting a more detailed book.
by Allen B. Downey - Green Tea Press
Think Stats is an introduction to Probability and Statistics for Python programmers. This new book emphasizes simple techniques you can use to explore real data sets and answer interesting statistical questions. Basic skills in Python are assumed.
by Hans Petter Langtangen - Springer
With a primary focus on examples and applications of relevance to computational scientists, this useful book shows computational scientists how to develop tailored, flexible, and human-efficient working environments built from small scripts.