Computer Science Distilled
Meet a new book! It’s called Computer Science Distilled, and it’s the missing book on the principles of computation for ordinary programmers. It avoids the complexity coders don’t need. It gets the main points across.
Imagine how empowering it would feel to understand the important concepts all senior programmers abide by. This book makes it easy and enjoyable for you to do so—no burnouts, no exhaustion or frustration from academic jargon!
It’s a short book, written in plain, basic English. It presents ideas in their simplest form. It focuses on practical aspects of computer science that matter most: everyday things that directly impact the quality of your code.
Look inside
Download the first 2 chapters of the book for FREE and check the quality of the book for yourself.
What's inside the book?
An introduction into computer logic and math that helps to:
Model ideas into flowcharts and pseudocode.
Learn to know right from wrong with logic.
Count stuff.
Calculate probabilities safely.
4 ways to measure algorithms complexity that allow you to:
Count and interpret time complexities.
Express their growth with fancy Big-O’s.
Run away from exponential algorithms.
Make sure you have enough computer memory.
8 strategies to solve computation problems that let you:
Handle repetitive tasks through iteration.
Iterate elegantly using recursion.
Use brute force when you’re lazy but powerful.
Test bad options and then backtrack.
Save time with heuristics for a reasonable way out.
Divide and conquer your toughest opponents.
Identify old issues dynamically not to waste energy again.
Bound your problem so the solution doesn’t escape.
15 most common data types and structures that show you:
How abstract data types keep your code clean.
Common abstractions you need in your toolbox.
Different ways to structure data in memory.
7 sorting, searching and graphs-related algorithms that educate you how to:
Efficiently sort super long lists.
Quickly search for the item you need.
Operate and manipulate graphs.
Use WWII operations research to optimize processes.
5 major types of databases that let you:
Understand the relational model of most databases.
Be flexible using non-relational database systems.
Coordinate computers and distribute your data.
Map stuff better with geographical database systems.
Share data across systems thanks to data serialization.
A tour into computer architecture where you will learn to:
Understand foundations of computer architecture.
Choose a compiler to translate your code for computers.
Trade storage for speed with the memory hierarchy.
An overview of a programming language where you will see how to:
Spot the secret linguistics that govern code.
Store your precious information inside variables.
Think solutions under different paradigms.
Who's the Author?
Hi! My name is Wladston, and I have a master’s degree in computer science. I love academic work: my research was published in several prestigious conferences. But I have to admit: learning computer science from traditional textbooks was tough. How on Earth can anyone who’s not a full-time academic researcher learn from these books? No wonder most people don’t learn even the basics of computer science.
That’s why I took on the challenge to create a different computer science book, from scratch. Along the years, I collected and simplified computer science points every programmer must know—ditching the rigor and formality of academia. Now, I’m proud to finally show you the result of my work.
Why should I buy this book?
Besides making you a better programmer, Computer Science Distilled can boost your career in several ways:
have your code appreciated, not dashed
It’s super frustrating to have someone reviewing your code, just to tell you it’s broken or poorly built. It’s like getting a bad mark on that assignment you worked so hard on. Junior coders constantly get ruthlessly criticized by senior programmers. Learning the features and different forms of expression offered by your programming language, you can acquire the experience required to write great code, faster. Computer Science Distilled shows you how to use idiomatic features of programming languages, and write clear and meaningful code that sets the standard.
shine in programming interviews
Many coders fall prey to tricky job interview questions. Without any prior knowledge of problems commonly discussed in these interviews, even geniuses can tank. If you learn the basics of these problems before your interviews, that can dramatically improve your performance. You’ll feel confident to discuss these common problems. And you’ll impress the interviewer with your thorough answers!
connect with experienced coders
Doesn’t it feel great to talk to people the same way they’re used to talk? Once you internalize the basics of computer science, that’ll happen automatically in your workplace. You won’t feel lost and out of place, as most beginners do. Work will feel more natural. You’ll communicate your ideas using the same terms experienced engineers use. People notice that: your colleagues will feel you’re an “insider”, who knows the drill and can be trusted. Without external help it can take a long time for that to happen. Computer Science Distilled gets you off the starting blocks.
be proud of your code
Once you’re familiar with how programmers separate code that handles input/output code from problem-solving code, you’ll naturally and effortlessly begin to organize your code in modular, reusable ways. Your code will be easier to understand. You’ll feel like a great architect, proudly looking at the structure of your creations. And your colleagues will be thrilled to work with your code!
don’t be scared of database systems
There’s a database system behind every commercial piece of software. Computer Science Distilled gives you a basic knowledge of databases, so you can have a complete understanding of the system you’re working on. It lays out the key aspects involved in choosing the adequate type of database for each different scenario. Having a basic understanding of every aspect of your software project, you’ll be on top of your game. In some cases, you might even identify points of improvement in flimsy database systems, and discuss those with your team.
master your craft
People see computers as black boxes that work in magic and mysterious ways. They expect you to be the dude that knows this stuff. That’s why you need to understand how your tools work. Your computer is much more than just a gadget… it’s a wonderful piece of engineering. It feels great to grasp the splendor of its inner workings. In doing so, you become more prepared to take on any programming challenge, and to improve and optimize mission-critical code.
Here's what other people say
+ Write a review-
I truly wish this book had existed when I was in school. If you want a painless introduction to the very core of computer science, This is it!
The concepts that are explained in the book are useful for any level, from beginner to advanced in my opinion. It has helped me tremendously to strengthen concepts I had trouble with in the past, and the author manages to explain it in a way that's light and entertaining at the same time.
I'm particularly glad that the author starts from the ground up, with a gentle introduction to the Maths you will need. Very few books (If any) take the trouble of dedicating a couple of chapters to Math alone before diving into how it's used in Computer Science.
The title of the book perfectly summarizes what the author managed to successfully do, which is to 'Distill' every CS concept and present it in a way that's brain-friendly. In Summary, the best introduction to CS you will ever find.
Jose Estrella-Campaña -
A really nice introduction to computer science for those that do not have time for more academic books about the topic. It allows to grasp the basic concepts, introduces some neat algorithms, and strengthens good algorithm design, while allowing the reader to get into writing good code very soon. I would certainly recommend anyone interested in programming to read it and not be surprised or dissuaded by the emoticons in the beginning of each chapter. This book goes reasonably into the topic and is not just a childish CS intro. Also, thanks to its style, good examples, and the use of web sources, it truly looks like a 21st century introduction to the topic.
Svarnyp -
An easy-to-follow guide through those fundamental principles of computer science that are only hazily grasped or completely unknown to us non-programmers who nevertheless program.
Purists may complain about the author's use of emojis. For only a few hours reading it is remarkable for how much it contains.
I would recommend the book for students of any discipline, including computer science, casual or professional coders in any programming language.
There is a class of reader for whom this book is probably too basic, namely software engineers with a recent academic computer science background.
shortTimer -
It is clear, concise and helpful. Wish there were books like this for many other subjects.
Alejandro Garciarrubio Granados -
Great book! If you need a good over view of computer science this is the book you're looking for. The author also gives you the parent topic to the topic you're reading about. Very well done!
Chris Martin -
Excellent book who taught me about the computer science foundations. I really recommend it for anybody who wants to start in this field. Concise and clear language used in this book
Diego -
The book is well written but VERY BASIC LEVEL.
Robert Pankowecki -
The book is incredibly good at teaching the most fundamental topics in Computer Science to a reader that is no expert in the field. It helps pursuing the knowledge required to get an understanding of the concepts that underlie (almost) every aspect of Computer Science.
The most refreshing part about the book is that it focusses on the reader instead of the topics it covers. It does so without belittling the reader, which is very pleasant.
The only "negative" thing I can say about it is that if you already have a fundamental knowledge of CS, you might not get too much new information. I can still recommend the book, as it might refresh or even expand your knowledge on some topics!
Jose Estrella-Campaña -
Fantastic introduction to computer science. Written for modern people..easy to connect to. Definitely think anyone who wants to learn programming should learn computer science and this book does it in a way that isn't stiff and hard to understand.
Scott K Jones -
A bit outdated, needs to address object oriented paradigms, but excellent presentation and basic computer science material
Jose Estrella-Campaña -
Great book to revisit what you have learned in the CS course. Wlad's text is easy reading and the book delivers what its objetive. I totally recommend.
Rodrigo Falico Faria
The book will be available to you in PDF, ePub and Mobi formats immediately upon purchase, so you can easily read it on your iPad, Kindle or other portable device.
For $40.00 Autumn SALE$19.95 you will get:
Computer Science Distilled in PDF, ePub and Mobi formats.
8 chapters, 124 illustration and 169 pages of great content.
Access to all future updates.
And all of this with a 30-day money-back guarantee.