Are you looking for a book to start learning programming and Python? This is the one! I know from experience how difficult and time-consuming it can be to get started with coding and a new programming language in general. Not to mention finding good resources and some structure to support the process. That’s why I figured it might be a good idea to share my experience with this book with all of you. I was an absolute beginner with both Python and coding in the first place when I first started learning Python with Python Crash Course. And to be quite honest, it’s been quite an amazing ride so far!
I hope you’ll find some helpful information or, better yet, some inspiration to start learning Python yourself!
— See also: 4 Steps to Get You Started with Coding
— See also: How to Choose Your First Programming Language
Why this book?
Last September, I had been pondering over which programming language to learn for some time already. However, browsing through online courses and other resources seemed to take me nowhere. I had started a couple of smaller courses and tutorials, but I was lacking structure and consistency.
— See also: Why I Started to Teach Myself to Code
Because I was totally new to programming, I thought it would be better to have a good book as a go-to for lookups about syntax and other tricky basics. As for the programming language itself, I had already more or less decided to learn Python as my first one. Now I just needed to find a good book!
I first came across Python Crash Course at a local bookstore. My focus was only on Python books, and I found a few interesting options to compare. I liked the layout, the structure, and how the author, Eric Matthes, focuses on explaining everything very thoroughly.
Moreover, the publisher (No Starch Press) deserves a remark on their other Python books, too. Compared to a few alternative ones, they all seemed more reader-friendly in terms of content and style. Not to mention they were all somehow cool, fresh, and – most of all – suitable for beginners like me.
The other Python books did have some very interesting, comprehensive content as well. However, the authors often seemed to forget about beginner readers after the first couple of chapters.
So what’s in it?
What initially caught my eye about Python Crash Course was quite simply the content itself. The first part of the book is about the basics of Python. The second part consists of three different practical projects. Out of all the books for beginners I went through initially, this was the one with the strongest, most diverse combination of theory and practice.
Part 1: Basics
The first part of the book covers the functionalities, syntax, and fundamental building blocks of Python. You learn about lists, dictionaries, loops, classes, and much more. The final chapter of the first part teaches you how to test your code – extremely helpful. Additionally, the author gives great tips and advice on writing clean and readable code throughout the book.
The practical exercises are very well written. You always begin with something quite basic in the beginning of each chapter. Then, as the chapter progresses, the exercises advance and build on what you started with, following a nice golden thread.
Since I was a total newbie to Python and programming when I started with the book, the topics were covered with enough depth for me. The code in all of the chapters is explained in the smallest detail, which is great for a beginner.
Part 2: Projects
As for the projects in the other half of the book, let me explain the basics of each:
- The first project is about programming a 2D game, Alien Invasion, using the Pygame library. Being much like Space Invaders, it’s definitely good fun and great practice at the same time!
- The second project focuses on data analysis and visualisation using a few Python libraries and modules, such as matplotlib and Pygal.
- The third project, and my favorite one, aims at creating a web application from scratch. It introduces you to a web framework called Django. It’s basically a set of tools that helps in building web apps.
— See also: What Is a Web Application?
The projects are great for actually seeing a few examples of what you can create with Python with just this one single book. For me as a beginner, this was a great way to track my progress towards knowing enough to finish these projects. I would occasionally take a look into the project chapters and see how much of it I already understood.
Additionally, the introduction to using a few of the more common libraries in the example projects was pretty great. Most real-life projects with Python make use of the different modules and libraries available for Python, after all.
The projects were definitely the single most important thing that made me buy the book. I remember going through a bunch of books at the bookstore in September. My jaw literally dropped when I saw what the web app project would yield as a result. It was exactly what I wanted to achieve with programming. And all of a sudden, I was holding all the tools needed in my hand. I just couldn’t believe I could actually create something like that.
Why is it great for beginners?
As I mentioned, you don’t have to know much about programming or Python before starting with Python Crash Course. It introduces you to the language and to object-oriented programming in general. It really feels like the author is indeed addressing us newbies with his patient and thorough approach.
The basics and the syntax are really easy to learn with this book. However, that could also just be because that’s how Python is. Being a high-level programming language, Python has a relatively easily readable syntax. This is one of the biggest advantages for us beginners. It reads a lot like English, which makes it easier to understand what the code will actually do.
When you’re a beginner, it’s important to have a few project walk-throughs where you can apply your freshly acquired skills to. Python Crash Course does a great job at exactly this. And it’s not about having your hand held through every step of the way. I’d rather see it as ensuring that you develop a way of thinking how to approach problems with Python in general.
Thus, the projects in the second part of the book are a good introduction to real programming problems you’ll come across in the future. They also point out how versatile Python is as a programming language!
How long did it take me?
I definitely managed to shock myself with the pace I was progressing at. Learning the syntax and the basics with the first part of the book took me around three weeks. The first project that I finished, the web application, only took me three days.
Looking back on it, it now feels like I was in some sort of a learning rush with the book. Having thought it’s really difficult to start learning to code, I couldn’t believe how quickly I was writing small programs of my own! However, I do have a full-time job, so I couldn’t spend as much time with the book as I had wanted to!
So, all in all, I went from basically knowing nada about Python and with zero programming experience to having a fully functional web app in just about four weeks. And it only made me curious to learn more!
In short: Love it!
To sum it all up, learning Python with Python Crash Course was an extremely positive experience! I found a great first language to learn and really had fun with it. Furthermore, I made considerable progress surprisingly quickly.
I’m definitely not done with Python Crash Course just yet. The two other projects aside from the web app still need some finishing touches. But altogether it’s probably the best thing that could have happened to me so early on in my journey towards becoming better acquainted with programming.
I’d definitely say Python Crash Course is a great choice if you’re new to Python. It’s a good piece to have around for that occasional syntax reference and practical examples for applying the language to solving diverse problems. However, being an introductory book for programming and Python, it obviously doesn’t go into too much depth.
As I pointed out earlier, the author explains the code in the book in enough detail for absolute beginners. Basically it’s a book that takes you from perhaps not knowing much about programming at all to being pretty nicely prepared for working on more demanding projects with Python in the future. In other words, a great introduction!
All in all, a great first touch to Python and programming in general. Worked well for me!
Thanks a bunch for reading! Please share your thoughts in the comments below or contact me directly! If you like the post, feel free to share it so others can read it too.