Category: Programming Books

Posts about the various programming books I use to learn.

  • Reading “Grokking Algorithms”

    Reading “Grokking Algorithms”

    I started Phase 1 of the Software Engineer roadmap Gemini created for me by reading “Grokking Algorithms” by Aditya Bhargava. I bought the book from Amazon a few weeks ago, and after reading the first four chapters and completing the exercises I want to give a partial review.

    So Far Reading “Grokking Algorithms” Is Easy

    I’ve read several different programming books this year and reading “Grokking Algorithms” has been one of the easiest. The writing style is concise, but packed with great information. With the combination of the drawings for the various topics I’m able to learn about Binary Search and Quick Sort faster. That’s the main reason why Bhargava wrote the book. He said learning about algorithms is tough enough, and many of the books about the topic don’t make learning it easier. I’m fine with learning from text-only books because I have a great imagination and can picture the words and topics in my mind. Yet, with the easy reading style I don’t have to “think” as hard.

    So Far Reading “Grokking Algorithms” Is Fun

    It’s fun reading this book! Not only do I like the writing style, but the drawings are fun and fit well with the different topics. The drawings aren’t distracting, but they aren’t low-quality either. Finally, I like the exercises throughout each chapter. Those aren’t incredibly easy so I feel I’m not learning anything. Nor are they so difficult that I give up and feel dumb. As each chapter progresses the difficulty ramps up gradually. Those reasons are why I think the book is fun.

    The Book Finally Helped Me Understand Recursion

    Like many students I find recursion difficult. I tried different learning methods and media to understand it, but I couldn’t. I knew why programmers used it, but since I couldn’t get it to work in my code properly I decided against using it. So when the chapter about recursion came I was a little nervous, as I remembered my past failures. Yet, this book helped me understand why recursion is important in certain applications, and how to use it properly in code. Grokking Algorithms taught me how recursion uses the Call Stack to operate, and using the debugger in PyCharm I got to see that in action. Now I don’t feel any nervousness about recursion.

  • I Recommend Python Crash Course To Beginners

    I Recommend Python Crash Course To Beginners

    Some time back I wrote about switching from using videos to improve my Python programming skills to using books. The first book I recently completed was “Python Crash Course” by Eric Matthes from No Starch Press. This is a highly-recommended book I found in many YouTube videos when I searched for Python programming books. I purchased the book even though I don’t consider myself a beginner in the language anymore because I felt this was a good starting point with my choice in switching learning content. In this post I want to break down the reasons why I recommend Python Crash Course to beginners.

    Why I Recommend Python Crash Course To Beginners

    There are two reasons why I recommend Python Crash Course to beginners:

    1. The author explains the basics of the entire language in just 223 pages with easy-to-understand language, detailed screenshots, and code examples.
    2. The second half of the book contains three different types of projects (with the author’s help) to reinforce the knowledge the reader gained.

    Note: In a future post I will review the three projects so keep a look out for that.

    Here’s how the author teaches the basics of the language to beginners. First, he starts by demonstrating how the reader should create the proper coding environment for Python. This includes installing the language onto different operating systems, defining what an Integrated Developer Environment (IDE) is and providing different ones to use, how to create and run the famous “Hello World” program, and how to run Python programs from a terminal.

    After that setup, it’s time for the beginner to learn about variables and the simple data types (strings and numbers [int, float]). Then there’s a short section about what comments are, how to write them, and where to include them. Good stuff.

    The next few chapters introduce beginners to Lists and Dictionaries, and how to utilize them in code. Learning about these data structures can be difficult due to the amount of features they can accomplish. In addition, their syntax can be difficult for some beginners to understand. However, the author gives plenty of code examples and simple explanations to help them.

    Finally, the author spends a good amount of time in other chapters describing about logic statements (if, elif, else), how to create and use functions, and showcasing Object Oriented Programming (OOP). I was very surprised by how Eric Matthes clarified that difficult topic because it is a stickler for beginners. I remember how hard of a time I had understand and using OOP when I first learned about it.

    The Author Then Makes The Reader Work

    There is another reason why I recommend the Python Crash Course to beginners: It makes them create original code.

    The author just doesn’t allow the reader to type all the code he created into their IDE because that isn’t going to help that person learn the language. To become a successful programmer in any language requires practice. Thus, the author has a section called “Try It Yourself” that makes the reader solve some type of issue. Here’s an example from the Variables and Simple Data Types chapter:

    2-1. Simple Message: Assign a message to a variable, and then print that message.
    2-2. Simple Messages: Assign a message to a variable, and print that message. then change the value of the variable to a new message, and print the new message.

    This allows the reader to utilize what they just read about what a variable is, how to create one (in this case using a string), and how to use the “print” statement to print out the contents of that variable.

    As the reader progresses through the book, the Try It Yourself section becomes more and more difficult. I really do like these!

    Where To Get The Book

    Python Crash Course is available from No Starch Press. Or you can find it at your favorite book retailer. I think even some libraries may carry it so check around.