
Computer Science Distilled
Introduction
Nova: Picture this. You walk into a bookstore, pick up a computer science textbook, and within ten pages you're drowning in Greek symbols and proofs that feel like they were written for Martian PhD students. Now imagine instead a book that's 168 pages, filled with emojis, doodles, and XKCD comics, and actually makes you feel like you understand what an algorithm is. That book exists, and today we're diving into it: Computer Science Distilled by Wladston Ferreira Filho.
Atlas: Wait, emojis in a computer science book? That feels almost... rebellious. I thought CS books were supposed to be dense doorstops that double as monitor stands.
Nova: Right? And that's exactly the point. Ferreira Filho is a Brazilian programmer who got frustrated watching people struggle through traditional CS education. So he wrote this book as what he calls his humble attempt to help the world use computers efficiently. Published in 2017 through his own company, Code Energy, the book has since racked up over twelve hundred ratings on Goodreads averaging about four out of five stars. It's developed something of a cult following among self-taught developers.
Atlas: But here's what I'm curious about. A book that claims to distill all of computer science into a breezy read sounds almost too good to be true. Does it actually deliver, or is this another one of those books that promises the moon and gives you a postcard?
Nova: That is the million-dollar question, and it's exactly what we're going to unpack. There's genuine controversy around this book. Some readers call it a lifesaver, the missing manual for people without CS degrees. Others call it too shallow, a glorified glossary that skims without teaching. One reviewer on Goodreads even wrote, and I quote, the hypothetical audience for this book is someone who knows all there is to know about CS while simultaneously forgetting everything about each topic as they read it.
Atlas: Ouch. That's brutal.
Nova: It is. But here's the thing. The book has also been rated five stars by university professors who teach introductory programming. So clearly there's something here worth exploring. Over the next few minutes, we're going to walk through what this book actually covers, what it does brilliantly, where it falls short, and ultimately who should actually pick it up.
Atlas: Let's get into it. I want to understand what's in these 168 pages that gets so many people fired up, for better or worse.
How eight chapters cover the CS universe
The Architecture of a Tiny Book
Nova: So let's map out the terrain. Computer Science Distilled has eight chapters, and they flow in a really intentional arc. It starts with Basics, which is essentially discrete mathematics made friendly. Then Complexity, which teaches you how to think about algorithm efficiency. Then Strategy, Data, Algorithms, Databases, Computers, and finally Programming.
Atlas: That's a lot of ground for 168 pages. I mean, my university algorithms textbook alone was like twelve hundred pages.
Nova: Exactly. And that's the design philosophy here. Ferreira Filho is not trying to replace those textbooks. He's building what one reviewer called a mental scaffold. The idea is that after reading this, when you encounter terms like Big-O notation or hash tables or recursion, you have a framework to hang that knowledge on. You know what these things are for, even if you haven't mastered them.
Atlas: So it's less a textbook and more like a conceptual map.
Nova: Perfect way to put it. And the book is structured with a clear pedagogical philosophy. Each chapter opens with a quote from a computing luminary. The Strategy chapter, for example, opens with a Donald Knuth quote: Coding is attractive because it can be an aesthetic experience much like composing poetry or music. There are exercises, there are references to dig deeper, and the whole thing is drenched in visual aids.
Atlas: I've heard the visuals are a big selling point.
Nova: They really are. One reviewer on Medium described the complexity chapter as having color-coded arrows for linear, polynomial, and exponential growth rates that make the contrast between them immediately visceral. You literally see why an exponential algorithm will ruin your day. It's not just text; it's designed to work on your intuition.
Basics, Complexity, and Strategy
Thinking Like a Machine
Nova: The first three chapters are really the intellectual core of the book. They're about how to think computationally before you write a single line of code.
Atlas: And this is where the book starts with math, right? I can imagine some readers hitting chapter one and feeling their eyes glaze over.
Nova: You're not wrong. Even positive reviewers admit that the opening chapter on discrete mathematics is the roughest patch. It covers logic, boolean algebra, truth tables, counting techniques like permutations and combinations, and basic probability. For someone who hasn't touched math since high school, it can feel like a cold plunge.
Atlas: So why start there? Seems like a great way to lose readers.
Nova: Because as Ferreira Filho argues, you can't really understand algorithms without logic, and you can't analyze them without at least a basic grasp of counting and probability. He's upfront in the preface: this isn't rocket science, and writing good code rarely calls for complicated equations. But you do need these tools. He uses everyday examples, too. One problem involves a livestock farmer trying to maximize pasture area with limited fencing wire. It's a quadratic equation disguised as a farm problem.
Atlas: That's actually clever. So chapter two is Complexity. This is the Big-O stuff?
Nova: Yes. And this is where the book shines for many readers. Ferreira Filho walks you through time complexity step by step, starting with counting operations in Selection Sort. He introduces best case, worst case, average case, then Big-O notation. But the real standout is how he handles exponentials. He makes it painfully clear that an O of two to the n algorithm becomes completely unusable for even modest input sizes. One reviewer said this chapter alone helped them understand why certain code they'd written was running so slowly.
Atlas: I've been there. Writing code that works fine on ten items and then melts down on a thousand.
Nova: Exactly, and that's the chapter's mission. Then chapter three, Strategy, is where things get really practical. It walks through iteration, recursion, brute force, backtracking, heuristics, divide and conquer, dynamic programming, and branch and bound.
Atlas: That's a lot of strategies in one chapter.
Nova: It is, and this is where the criticism about shallowness gets loudest. Each strategy gets maybe three to four pages. You're not going to master dynamic programming from this book. But you will understand what it is, when to use it, and why it matters. The Fibonacci sequence example shows up here as the classic case where naive recursion is painfully slow, and memoization via dynamic programming makes it blazing fast.
Chapters four and five bring abstractions to life
Data, Algorithms, and the Real World
Nova: Chapter four is all about Data. Ferreira Filho makes a point that really resonated with me. Good programmers focus on data structures and their interactions. Control over data is crucial. He walks through abstract data types, or ADTs, explaining why abstractions matter. You don't need to know how a stack is implemented under the hood to use it effectively.
Atlas: That's such an important idea. I think a lot of beginners get hung up trying to understand every level of abstraction at once.
Nova: Totally. And the book covers the greatest hits: stacks, queues, priority queues, lists, maps, sets. Then it moves into actual data structures: arrays, linked lists, doubly linked lists, trees, binary heaps, graphs, and hash tables. Each gets a clear explanation of its strengths and weaknesses.
Atlas: Does it use actual code or just descriptions?
Nova: It uses pseudocode. And this is actually one of the more debated aspects of the book. The pseudocode resembles Python in its structure. If you've never seen a for loop or an if statement, you might feel lost. One reviewer on Medium noted that while no specific programming language is used, it's still a somewhat technical series of expressions that needs the reader to have a semblance of knowledge on concepts such as variables, value assignment, loops, and conditions.
Atlas: So the book does assume some baseline. It's not for complete beginners who have never written a line of code.
Nova: Right. Ferreira Filho says in the preface: if you already wrote a few lines of code and recognize basic programming statements like for and while, you'll be OK. If not, he recommends doing a free online coding course first, which takes about a week.
Atlas: That's actually refreshingly honest. He's telling you upfront what the prerequisites are.
Nova: Then chapter five, Algorithms, is the fan favorite. It covers sorting, searching, graph algorithms, and even operations research techniques from World War II. The chapter opens with that beautiful Knuth quote about coding being like composing poetry. And reviewers consistently name this as their favorite chapter. It's where all the concepts from earlier chapters come together and actually do something.
Atlas: So you finally get to see the payoff.
Nova: Exactly. And the examples continue to be grounded in everyday life. A seller trying to pack the most profitable items in a bag with limited capacity. A traveler figuring out the best route. These are the Knapsack problem and the Traveling Salesman problem, but you don't need to know those names to understand the scenarios.
The book's second half zooms out
From Databases to Programming Paradigms
Nova: The last three chapters take a broader view. Chapter six covers Databases. This is unusual for a CS fundamentals book. Most algorithms-and-data-structures books don't touch databases at all.
Atlas: That's interesting. Why include it?
Nova: Because in the real world, most programmers spend their days working with databases. Ferreira Filho covers relational databases, SQL, non-relational databases, distributed databases, and even geographical databases and serialization formats like JSON and XML. It's practical knowledge that bridges the gap between theory and what you'll actually do on the job.
Atlas: That's a smart inclusion. So chapter seven?
Nova: Chapter seven is Computers. This is the hardware chapter: CPU architecture, compilers, memory hierarchy. It explains what actually happens when your code runs. One reviewer on Reddit noted that this chapter covers programming and logic to the exclusion of hardware and kernel-level code, so it's not a deep dive into computer architecture. But for someone who's only ever worked in high-level languages, understanding the memory hierarchy, what a cache is, how a compiler turns your code into machine instructions, that's genuinely eye-opening.
Atlas: I remember the first time I understood that there are actually multiple levels of memory between the CPU and your hard drive. It completely changed how I thought about performance.
Nova: That's exactly the kind of moment this chapter aims to create. And then chapter eight, Programming, closes the book by zooming out to the meta level. It covers programming linguistics, variables, and programming paradigms. Declarative versus imperative. Functional versus object-oriented. It helps you understand that the language you're using is just one approach among many, and that different paradigms exist for different kinds of problems.
Atlas: So the book effectively starts at the micro level with discrete math and logic, builds up through algorithms and data structures, and then zooms all the way out to programming paradigms and computer architecture.
Nova: That's the arc. And in 168 pages, it's a breathtaking pace.
Who this book is really for
The Great Debate
Nova: Alright, let's address the elephant in the room. This book has some fiercely negative reviews alongside the glowing ones. And I think understanding that divide tells us something important.
Atlas: What's the core complaint from the critics?
Nova: The most common criticism is that the book is too shallow. One reviewer with ten years of programming experience said they learned nothing and called it pop computer science. Another called it a heavily advertised piece of junk and said the author cops out on actually explaining processes, using phrases like simply do this without actually explaining how. There's also a notable complaint from a reviewer who said the author promised a refund if the book didn't make you a better programmer, but couldn't actually issue refunds because payments go through Amazon.
Atlas: That's a bad look. But on the flip side, there are people who absolutely love this book.
Nova: And those people tend to fall into very specific categories. Self-taught developers who never studied CS formally. Bootcamp graduates who feel gaps in their foundational knowledge. Students considering a CS degree who want a preview. And experienced programmers who want a refresher.
Atlas: So the book works best as either a pre-introduction or a post-review, but not as the main course.
Nova: That's beautifully put, and I think it's exactly right. One reviewer described it perfectly: the book allowed them to grasp basic concepts, introduced neat algorithms, and strengthened good algorithm design, while allowing the reader to get into writing good code very soon. Another said it helped them see that a CS degree was not out of their reach at all.
Atlas: And what about the people in the middle? Not total beginners, not experts?
Nova: Those seem to be the people who get the most value. A reviewer who was pursuing a master's in CS said the book was a great high-level overview that solidified their understanding. Another who had been writing JavaScript for years said the book helped them finally identify what gaps they needed to fill. The book doesn't pretend to be comprehensive. It's in the title: distilled. You're getting the essence, not the full substance.
Atlas: And the author has since written a sequel, right?
Nova: Yes. Computer Science Unleashed came out in 2021, covering networking, data science, and computer security. Same approach, same style. It suggests Ferreira Filho is building out a whole ecosystem of gentle introductions to CS topics.
Conclusion
Nova: So let's bring this home. Computer Science Distilled is a 168-page illustrated guide that walks you from discrete mathematics to programming paradigms in eight fast-paced chapters. It's written by a Brazilian programmer who genuinely wanted to make CS accessible, and he published it through his own company with a money-back promise.
Atlas: And the verdict? I get the sense it's a book that knows exactly what it is and doesn't pretend otherwise.
Nova: Exactly. It is not a textbook. It will not make you a computer scientist. But it will give you a mental map of the territory. For the self-taught coder who's been writing JavaScript for two years and keeps hearing words like hash table and recursion without really getting them, this book is a revelation. For the CS graduate, it's a pleasant refresher that reconnects you with the big picture. For the complete novice who has never written code, it's probably the wrong starting point.
Atlas: So the key takeaway is: know what you're buying. This is a distillation, a high-level flyover. If you want depth, there are thousand-page textbooks waiting for you. But if you want clarity, intuition, and a sense of how all the pieces fit together, this little book punches above its weight.
Nova: And I think there's something genuinely valuable about a CS book that uses emojis and comics and everyday examples. Computer science has a reputation for being intimidating and exclusionary. A book that meets people where they are and says, hey, you can understand this, that's worth something. Even if it doesn't go deep, it opens the door.
Atlas: And once the door is open, you can walk through it at your own pace.
Nova: That's it. Computer Science Distilled isn't the destination. It's the invitation. And for a lot of people, that invitation has been life-changing.
Atlas: Well said. This is Aibrary. Congratulations on your growth!