Page 1 of 2
Python has become a popular language for complete beginners. It is always a tall order to teach programming from scratch - and these days books increasingly take a back seat to interactive online methods. Even so, having a book on a topic is a good way to consolidate a practical approach to learning a computer language.
IProgrammer takes a real interest in books. We try to keep up with new releases with our daily Book Watch and we run a dozen or more full reviews every month in which members of the team select titles that match their interests. We have over 40 reviews of books relating to Python but to be included in a Programmer's Bookshelf selection a book has to have been awarded at rating of at least 4 out of 5. This gives a list of over 20 books to recommend to those interested in Python - but no one person would want all of them.
Because of this we've divided the books into two piles - one for beginners and one for more experienced Pythonistas.
For this round-up the main points of each review have been extracted. To read the full version click on the title. Clicking on the book jacket thumbnail in the side panel will take you to Amazon and if there's is a Kindle version (the lower of the two thumbnails in the side panel) you can generally read the introductory chapter.
If you make a book purchase accessing Amazon via a link to it on IProgrammer we are credited with a few cents - so thanks to all of you who support us in this way.
Although many Python developers are self-taught, some others will first encounter it as part of their university education or by taking a MOOC, see Python Becomes Most Popular CS Teaching Language and Learn Python Online For Free. So it seems only appropriate that we start with a selection of textbooks, beginning with one that earned a top rating and is also included in Best Books Of 2014.
Author: John V Guttag
Publisher: MIT Press, 2013
This is the text book for the Introduction to Computer Science and Programming Using Python MOOC on edX, which is co-taught by its author John Guttag.book. It isn't exclusively focused on teaching you to code in Python. Instead it's a more general book on the ideas and practice of programming and algorithm construction. It has a slightly academic feel to it, even though the style is casual. The book uses Python 2 but this is largely irrelevant and the language takes second place to more general ideas.
Overall this is a well-written book, but it doesn't make any attempt to drop the intellectual level. You are expected to read and think about what you are being told. Don't expect to find anything about writing your first game or graphics for fun. This is serious stuff aimed at the serious student. The range of topics explored leans towards the statistics side of the science and it would make a good book for any student studying almost any STEM subject. Expect to learn as much about stats as computing as you progress.
Authors: Paul Gries, Jennifer Campbell & Jason Montojo
Publisher: Pragmatic Bookshelf, 2013
Reviewer: Mike James
Two of the authors of this book, Paul Gries and Jennifer Campbell, taught the MOOC Learn to Program on the Coursera platform, a courtse which was intended for for people who have never seen a computer program. Similarly, the book is intended for complete beginners with a slant towards the academic.
The book is a second edition that has re-organized its material to bring some of the key programming ideas earlier in the book. It starts off with the absolute basics and describes what a program is and what programming is all about. Chapter 2 gets you started on writing some code - all very simple expressions values and variables. Chapter 3 introduces functions which might seem a bit early given we haven't yet met any control statements - but for Python it makes good sense.
Even though it now merits a rating of 4, reviewer Mike James still has reservations, concluding:
This book seems to be attempting to do too much in too little space. It's not a bad introduction to programming in Python but it could have been so much better if it had dropped the requirement to tackle computer science head on and simply used the principles in the background to motivate and guide the presentation.
If you are looking for a book that introduces the non-programmer to Python there are better choices that don't confuse the issue with an academic agenda. If you want a book that will lift your Python programming and give you an idea of what sorts of things lurk below the surface then this is a good choice, but it isn't an easy read for the beginner.
Author: Y. Daniel Liang
Publisher: Prentice Hall, 2012
Reviewer: Mike Driscoll
The target audience for this book is college or high school students and as such has test questions and some programming exercises. There is an accompanying website that includes answers to the review questions and the even-numbered programming exercises as well as source code examples from the book. It also includes some interactive self-test questions and supplements to the text.
Concluding his detailed review of this 15-chapter book Mike Driscoll says:
I found the writing to be clear and pretty concise without a lot of witty banter. Yes, it is a little dry, but most programming textbooks are. While the chapter order is a little screwy to my mind, it states in the Preface that you don’t have to read them in the order printed. If you’re new to programming or just new to Python, then this book should get you going pretty well.