Computer Science Distilled: Learn the Art of Solving Computational Problems

Computer Science Distilled: Learn the Art of Solving Computational Problems

4.5 out of 5

991 global ratings

A walkthrough of computer science concepts you must know. Designed for readers who don't care for academic formalities, it's a fast and easy computer science guide. It teaches the foundations you need to program computers effectively. After a simple introduction to discrete math, it presents common algorithms and data structures. It also outlines the principles that make computers and programming languages work.


About the authors

Wladston Ferreira Filho

Wladston Ferreira Filho

Wladston Ferreira Filho is a brazilian programmer who enjoys writing. His first book, "Computer Science Distilled", explains the science of computation in an easy way. His second one, "Computer Science Unleashed" presents concepts programmers leverage to build our digital world, and explains how the Internet works, cybersecurity and data science.


Reviews

Chuck

Chuck

5

A good computer science reference

Reviewed in the United States on July 3, 2018

Verified Purchase

I am a self-taught python coder, who wanted to learn more about the field without getting bogged down in details for 4 years. So I bought this book to help me get a good overview of major concepts in computer science.

The book does a great job of giving the reader a broad overview of computing concepts ranging from time complexity to databases to memory management.

It’s a great reference for anyone who wants to expand his/her/their horizons beyond their immediate field of expertise.

I found the book easy and fun to read. Also I discovered some concepts that I’d like to explore further.

I’d recommend this book to anyone who has gotten into programming from a non-sc background.

Read more

22 people found this helpful

Garrett

Garrett

5

Excellent Resource and Jumping-off Point

Reviewed in the United States on December 27, 2023

Verified Purchase

I really enjoyed this book, and found the author's writing lucid, engaging, concise, yet technical and informative. While it doesn't provide every last detail about every topic introduced (important to note that it does not claim to be a comprehensive and exhaustive resource), it provides more than enough information to get a solid grasp on the concept and provides a jumping-off point for further research on whichever topic you'd like to learn more about.

I personally found the chapter on computers (RAM, CPU, hardware, memory, OS, etc.) very valuable and engaging. One word of caution is that if you're looking to purchase this book as a means to achieve that "AHA!" moment with Big O notation, time and space complexity, things of that nature, this probably won't be it. Like I said before, the author provides an excellent starting point to introduce the contained topics, but these in particular will require quite a bit of additional footwork and practice to absorb.

You'd be hard-pressed to find a better resource, whether you're an absolute beginner or a professional already in the field looking to brush up for an interview or deepen your understanding of foundational knowledge. As a point of reference, I'm a self-taught computer engineer who has been employed in the field for 4 years without a formal computer science degree. I picked up this book hoping to identify areas where my knowledge was lacking, and Computer Science Distilled served that purpose beautifully.

Read more

R. Vartanian

R. Vartanian

5

Light and Pleasant Intro to CS Concepts

Reviewed in the United States on March 24, 2022

Verified Purchase

This book is really a pleasure to read, as other reviewers have mentioned it is a great book for beginners or others coming from other fields, and perhaps also a light refresher, to learn and be introduced to fundamental topics of Computer Science and computational thinking. The author presents topics incrementally that build up on top of each other. This book will not teach you the in-depth knowledge you may be seeking but instead presents topics in an easy to understand and fun way where you can dive in and learn more about on your own

Read more

2 people found this helpful

Arvinda R.

Arvinda R.

5

Great primer for necessary CS core concepts

Reviewed in the United States on May 19, 2018

Verified Purchase

This book is exactly what I was looking for. When learning programming, you're usually taught a lot of tricks and techniques without fully understanding how they originated or are related.

Upon reading this book I immediately recognised certain topics that I've come across before in disjoint ways and without context (things like endianness, probability theory and Big O notation for e.g.). The book does a great job of collecting, organising and explaining these concepts in an easily digestible format. It starts with core concepts, moves on to how these are expressed language constructs and in the hardware, and then concludes with some practical implementations of these concepts in things anyone learning programming would recognise.

I'd highly recommend for anyone who has even a remote interest in learning from first principles and who has a mind for problem-solving and using code creatively vs. simple rote application of programming techniques and frameworks.

Read more

12 people found this helpful

James Beswick

James Beswick

5

One of the best general CompSci books I've ever read

Reviewed in the United States on December 17, 2018

Verified Purchase

It's no small feat to take a huge number of complex subjects and explain them this clearly. I had a professor at college with this knack of taking abstract and potentially dull ideas and bringing them to life - you have to combine genuine enthusiasm and deep knowledge to pull this off, and Wladston's writing reminds me of those lectures. The book treads a difficult line perfectly - it's both a useful refresher to CompSci graduates and a solid introduction for those new and interested in the subjects.

The breadth of topics is ambitious, the writing style is clear and detailed, while the presentation makes the concepts flow. There is talk in the appendix of a second book in the series and I really hope the author continues since CompSci is a growing collection is ideas, theories and patterns that even seasoned practitioners don't understand fully. I rarely recommend tech books to everyone but this is a must-read for anyone wanting to deepen their knowledge of many of the core subjects.

Read more

2 people found this helpful

Jose Estrella-Campaña

Jose Estrella-Campaña

5

For Computer Science it doesn't get any better than this

Reviewed in the United States on April 4, 2017

Verified Purchase

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.

Read more

97 people found this helpful

Alexander Ahmann

Alexander Ahmann

4

Good overview, but can get a bit oversimplistic at times

Reviewed in the United States on July 1, 2021

Verified Purchase

This is a pretty good intro to CS in my opinion. It discusses the rudimentary aspects of subjects like discrete maths, runtime complexity theory, programming strategies, data structures and algorithms, databases, computer architecture and programming languages.

One of my favourite themes in the book is the authors use of colourful images and cartoons to illustrate his point. In my opinion (and the opinion of some of my colleagues in the field), computer science textbooks can be a bit dull and boring. The author tries to liven things up with pleasant visuals and ICT humour that both techies and the general audience can love. Another thing that I like about the book is that the author covers many important notions in CS, like greedy algorithms, backtracking, sorting and searching, HashMaps, relational and non-relational databases, and different programming paradigms.

My major criticism of this book is that it can oversimplify things at times. For example, in discussing searching algorithms (5.2), the author briefly touches on linear search and gives a rough sketch of binary search without getting too deep into how their runtime complexity is derived or discussing any implementations in specific languages (though the pseudocode that the author uses is similar to the Python language and this could be to make the book more "timeless"). Nonetheless, I understand that this is an introduction for beginners and the author probably doesn't want to turn them off by going too deep.

I'd give it 4.4/5 stars, great stuff! Can't wait to read the sequel :D

Read more

3 people found this helpful

Christopher Norman

Christopher Norman

4

focused on a few key topics

Reviewed in the United States on December 18, 2022

Verified Purchase

Overall, the author did a great job on his first book. He explained the concepts well. Think the title “Distilled” is accurate it provides a basic overview of the field.

B From Seattle

B From Seattle

3

Math error on page 5 - wrong "terms"

Reviewed in the United States on May 17, 2017

Verified Purchase

May 17, 2017: I amend my May 16, 2017 review to... On page 5, "quadratic equation" and "quadratic formula" are the wrong terms. The 2 problematic sentences near the top of the page should be rewritten as: That's a "quadratic function", of a single (independent) variable! Graphed, it's a parabola opening downward, the maximum of which is its vertex with a location easily found using the high school "vertex formula". (In this case, calculus not needed to determine maximum).

May 16, 2017: Elementary error (high-school math) on page 5. A maximization problem is solved with calculus, not the quadratic formula of algebra! (The Quad. formula is not gonna help anyway since this is one eq. w/ 2 unknowns, A & w). Back to calculus: take the derivative of both sides of the equation w.r.t. w and set to zero. (Maximum is where dA/dw = 0). How many other errors does this book have? Technical editor?

Read more

23 people found this helpful

William Miller

William Miller

1

Does not tell how to do anything the author lists

Reviewed in the United States on August 23, 2019

Verified Purchase

If you already know the information in Computer Science Distilled, it would probably make a good refresher book. If you don’t already know the information in the book, don’t bother getting it. Computer Science Distilled is one of those books where if you don’t already understand its points, you are going to have to buy several other books just to try and understand them. Cut out the middle man and buy the other books.

For example, if you know what these are and how to use them:

O(n log n)

or,

∑_(i=1)^n▒i=n(n+1)/2

you may get something out of the book. However, if you don’t know what they are and how to use them, you still aren’t going to know after reading this book. The book will give you the idea that they are somehow important and can be applied to programming, but you will have to go elsewhere to figure out how to use them.

As another example, on page 4 the author talks about the importance and usefulness of mathematical models—“Creating models is so important it’s taught in school. High school math is (or should be) about modeling problems into numbers and equations”. If you already know how to model problems mathematically, I doubt you need to buy this book just so the author can tell you it’s important. If you don’t already know how to do this, once again you still aren’t going to know after reading this book. You will have to go get another book on mathematical modeling and its applications to programming and computer science.

The back cover says, “If you’re not sure how your code works, this book will open you the door to programming mastery. It’s also a simple reference to be consulted in times of doubt. It will not waste your time with boring academic formalities!” The book definitely does not open the door to programming mastery! It may serve as a simple reference if, like I say above, you already know how to do everything in the book. Unfortunately, I think the boring formalities he is talking about leaving out is the actual how-to content that should be in the book.

Read more

77 people found this helpful