Python Crash Course

Author: Eric Matthes
Publisher: No Starch Press
Pages:560 
ISBN: 978-1593276034
Print:1593276036
Kindle: B018UXJ9RI
Audience: Not the complete beginner
Rating: 3
Reviewer: Alex Armstrong

Crashing doesn't sound nice but a crash course in Python sounds much better. 

To be honest this book is a bit on the large size to qualify as a crash course in anything, but don't let that put you off. I have to admit, however, to finding the cover illustration disturbing. The Python looks friendly enough, but being wrapped around a jet engine is positively weird. But again, this has nothing to do with the quality of the book.

The subtitle is "A Hands-on, project-based introduction to programming" and this does give you a good idea of the approach. The book is divided into two sections - Basics and Projects. 

Part 1 is about 227 pages and thus is about half the book. You need to keep in mind that the crash course in Python is only half the book and the rest of your learning is all based in following the example projects.

 

Banner

 

The book starts off with a look at Python and how to get it runing. It deals with Python 2 and 3 although 3 is prefered. You get to use basic IDEs to develop your Python - Geany on Windows.  After this fairly long section the book follows a fairly standard path through Python. Rather than teach the general idea and then show how it works in Python the book is very focused on telling you what Python commands and other features are for.

As such this is a beginners book but not a complete beginners book. It also has the common fault of trying to be complete rather than understandable. For example rather than just introducing the if statement and then return to this difficult topic later after it has had time to sink in all of the possible forms of the if are covered as part of its introduction. In the same way there is no clear effort to teach iteration in all its forms and uses just a collection of "loops that Python supports". This is a common failing, authors often confuse teaching the details of a language, with teaching the concepts of programming. 

The book continues on through Python in no particularly logical order apart from a vague sense of working from the simple to the more sophisticated. So we move from basic variable, through lists, then if statements, dictionaries, user input, functions and finally at chapter 8 classes, then straight on to files and exceptions and testing code. This is just a barely adequate introduction to programming. What there is is well presented and well written but it lacks depth and shows little sign that there are bigger general principles at work. 

For example objects are introduced as a way to group functionality. Inheritance is hardly mentioned and the idea of a class hierarchy to model the real world is over looked. Classes are simply ways of packaging some functions that you might want to use elsewhere in your program. 

This may not worry you. If you are not a 100% beginner and just want to brush up on a limited range of Python features and facilitie the approach might work for you. However be warned that the whole idea of object oriented programming isn't given enough emphasis. 

 

pythoncrashcourse

 

The second part of the book is a set of three projects. The first is about implementing a game - alien invasion aka space invaders, the second is about data visualization i.e. drawing charts and the final one is about implementing a web app. 

Each one of the projects makes heavy use of one or more libraries. The game makes use of Pygame, the data visualization uses Mathplot and the web app uses Django. This means that much of what you are learning is about how to use these particular libraries. Again this isn't a huge problem in that using Python for real often does come down to finding your way around some library or other. It isn't clear how well these examples will help your programming skill develop, but at least you will have had the opportunity to see how a big program is constructed. However, the descriptions are strong on the detail and not so good on the bigger picture. There is no way of the reader to see where the project is going - you just have to follow along the description of what the author did. 

This is a book that presents the reader with a lot of code and a lot of explanation of code. It is light on the deeper ideas, which if treated at all are presented as introductory comments. This is not a deep book and at the end of reading it, even if you follow all of the projects, you will still not know or have even encountered many of the important ideas of modern programming. However, if you just want a book that explains lots and lots of Python code then it might be the one you are looking for. 

Related Reviews

Python Books For Beginners

Books for Pythonistas

 

To keep up with our coverage of books for programmers, follow @bookwatchiprog on Twitter or subscribe to I Programmer's Books RSS feed for each day's new addition to Book Watch and for new reviews.

 

Banner


Pearls of Algorithm Engineering

Author: Paolo Ferragina
Publisher: ‎Cambridge University Press
Pages: 326
ISBN: ‎978-1009123280
Print:1009123289
Kindle: B0BZJBGTLN
Audience: Admirers of Knuth
Rating: 5
Reviewer: Mike James

Algorithm engineering - sounds interesting.



Professional Scrum Development with Azure DevOps

Author: Richard Hundhausen
Publisher: Microsoft Press
Pages: 432
ISBN: 978-0136789239
Print: 0136789234
Kindle: B08F5HCNJ7
Audience: Developers interested in Scrum
Rating: 5
Reviewer: Kay Ewbank

This is a book designed for teams using Scrum and Azure DevOps together for developing complex product [ ... ]


More Reviews

 

Last Updated ( Wednesday, 27 September 2023 )