Books

Over the past few years I've written and published 5 books independently.

These books add up to roughly 1600 pages and they condense my knowledge of Python and Computer Science (and some mathematics too).

You can find out more about the books below.

Pydon'ts

Write elegant Python code

This book guides you through the core Python language, showing you how to use the language features to write better, more elegant Python code.

Each chapter of the book guides you through a specific feature of the Python language, explaining the theory and showing concrete examples of that feature in the real world.

This book is for best suited for people who already have some Python experience or for experienced programmers in other languages who want a crash course on the “Pythonic way” of doing things.


Comprehending Comprehensions

I devoted an entire book with over 200 exercises to list comprehensions, dictionary and set comprehensions, and generator expressions. This book provides clear explanations for how comprehensiosn work and, most importantly, a unique point of view that helps you understand and memorise the syntax.

My unique point of view stems from my experience with the APL programming language, which helped me understand comprehensions in a completely new light. For a taste of my point of view, you can read this blog article of mine.

The book is missing the last two chapters, so you can buy it for 40% off while I finish it!


Python Problem-Solving

This book contains 50 coding challenges and an analysis of multiple solutions to those challenges. It's part of the Python problem-solving bootcamp, that I run periodically.

The “first edition” of this book was published in December 2021, when I ran the bootcamp for the first time. Whenever I run a new edition of the bootcamp, I end up perfecting and improving the book.


Neural Networks Fundamentals with Python

Ever wondered what a neural network really is, how it works, or how to implement one? Well, I did, and that is why I tried implementing one. And I failed. Some years later, I tried again, and it worked! And it was amazing! Now, I just want to help you do it yourself, so that you can take a peek behind the curtains of this world of machine learning, deep learning, and all those buzzwords.

In this short book, I will take you through the journey of implementing a neural network from scratch, and then we will use these networks you created to perform machine learning tasks. We will also play around with them and do all sorts of really interesting machine learning and deep learning experiments.

The book explains you the things that are needed, step-by-step, and gives you a reference implementation that you can find on GitHub.

By the time you are done with the book, you will have at your disposal a simple neural network framework that actually works, and that you have already used to explore interesting concepts from the worlds of machine learning and deep learning.

By the way, if you are unsure whether or not this book is for you, you can always read its chapters for free on my blog.


Puzzles, Riddles, & Problems

This book compiles the puzzles, riddles, and problems I've published on my blog.

I try to publish problems that are easy to state and easy to understand and I also try to stick to problems that only require logic and, at most, knowledge of mathematics at the high school level.

From ants stuck in a pipe to a pirate ship filled with democratic pirates, there's a bit of everything in this book.