Primary Navigation MenuHomeFeaturesColumnsCulture VulturesIndiciaContact UsSite MapPrimary Navigation Menu
Features - InterviewsFeatures - ArticlesColumnsReport CardCulture VulturesGalleryArchivesInterior Secondary Navigation Menu

Python Crash Course: A Hands-On, Project-Based Introduction to Programming

by Wolfen Moondaughter

Reviews may contain information that could be considered 'spoilers'. Readers should proceed at their own risk.

Publisher
No Starch Press
http://www.nostarch.com

Credits
Author: Eric Matthes
ISBN: 9781593276034
Illustrator:

Grade: 7

This book offers a step-by-guide to the programming language, with many examples and exercises along the way, as well as three projects: building a simple game, working with data visualisation, and building web applications. (My own interest is primarily in the game-building, with some moderate interest in the web-application aspect.)

The concept's a little harder to grasp than I'd hoped, but it's hard to tell if it's me or the book that is the problem (although a glossary would be helpful!). The examples are generally engaging (with the pizza examples seeming the best on how useful the language can be), but every now and then I find myself scratching my head over something, only to find it explained later, a bit cart-before-the-horse. There were times when I would have liked a printed example of the results of a bit of programming, but one wasn't provided. There a few instances where what I thought was supposed to be typed, as a terminal command, was actually something the terminal was supposed to return after the command. And there are still things I'm ultimately unclear on, that either weren't explained or I failed to grasp. While it starts out well, I think maybe the book, ultimately, takes for granted what the reader knows about how a computer works, and isn't for complete novices (I seem to be much more of a novice than I'd thought).

For example, when I went to install pygame, for the first project, I entered the command for checking if it was installed, exactly as written, but the terminal told me that "$" is invalid syntax (it worked after I ditched the $). I was instructed to install it in the work directory, and it turned out to need to be installed a step up in the tree to work (although I still can't wrap my head around why -- it seems the way I was instructed was the way it should have worked!) And when it came to downloading the file, the first site suggested did not work out at all, but it took me a while to suss that out -- as well as what I needed to look for at the second site that was suggested, in order to get the correct file.

And throughout the book, it talks about how the exercises use user input, but not how the input is obtained in the first place outside of a terminal window. Often, especially in the beginning, the exercises seemed pointless, a more complicated way to organise what you already have, so it seems counter-intuitive and redundant to create a program that requires you to restate that information. And while I can definitely see how lessons build on the previous ones, as time went on, it became harder and harder to remember the early stuff, especially if you had to take a break of any significant length.

The most frustrating part is being told one way to do things and then being told a better way later -- it makes the former info seem useless, a waste of time and effort, and the language as a whole a bit more overwhelming. But then again, I'm not sure any of that can be helped -- it's probably a matter of needing to know the rules before you can break them. Or maybe my brain is simply ill-suited to the kind of thinking this language requires. Perhaps other, more advanced books will cover the other questions I have about distributing games and making user interfaces -- or perhaps I just need to study this book again. I only tried a few of the exercises, so I could get the book reviewed; if I had actually taken the time to do all the exercises and all three projects, I might have absorbed it all better -- but I think getting through the book would take a good six months then, at least.

I did learn quite a bit! It's just, if you're anything like me, the read may get tiring, confusing, frustrating, and be hard to retain. Good thing we have the book to refer back to!

Written: February 7, 2016
Published: February 8, 2016



Tart: Wolfen Moondaughter
Book / Periodical: Python Crash Course: A Hands-On, Project-Based Introduction to Programming
Month: February 2016
May 2021: All | Book / Periodical



SiteLock