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 Charles R. Severance - PythonLearn
This book is designed to introduce students to programming and software development through the lens of exploring data. You can think of the Python programming language as a tool to solve data problems that are beyond the capability of a spreadsheet.
by Josh Cogliati - Wikibooks
This free tutorial is designed to be an introduction to the Python programming language. The guide is for someone with no programming experience. The author attempts to teach programming by reading code and writing code.
by Brian Heinold - Mount St. Mary's University
Partly a tutorial and partly a reference book. I summarize information in tables and give a lot of short example programs. I also jump right into things and fill in background information as I go, rather than covering the background material first.
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.