Table of contents
Properties of the book
- Full name: Computer Science Distilled: Learn the Art of Solving Computational Problems
- Author: Wladston Ferreira Filho
- ISBN: 0997316020
- Publisher: Code Energy
- Publication Date: 2017-01-17
- Pages: 186
Overview
You can learn how to code with some programming language pretty quickly by taking some course, for example. But in order to become true professional - you need to know fundamentals. This book introduces the reader a "computational thinking", which allows to solve any complex tasks and immerses the reader into the very fundamentals of computer science. The book touches on such topics as "how computer works", "algorithms", "programming paradigms" and more.
Organization
The book consists of 8 chapters:
- "Basics" chapter covers idea of pseudo-code, probability, combinatorics, models, logical operations.
- "Complexity" chapter introduces the reader to the Big-O notation and estimation of algorithms efficiency.
- "Strategy" chapter shows one of main ways of solving problems (e.g. recursion, divide and conquer, burte force, etc).
- "Data" chapter explains what data structures are commonly in use in software development like arrays, linked lists, graphs, trees.
- "Algorithms" chapter teaches the reader how to apply known solutions (algorithms) to his problems. Covers few of the most well-known algorithms as examples.
- "Databases" chapter mostly focuses on explanation of differences between DB types such as relational, no-sql, geographical. It covers DB replication topic also.
- "Computers" chapter explains very basics of CPU, RAM, CPU caches, why do compilers exist.
- "Programming" chapter introduces the reader different programming paradigms as well as some very basic coding attributes like types and variables.
Who is this book for?
For those who started their path in software engineering, probably has some experience in programming already and wants to deeper his knowledge in fundamental aspects of computer science like data structures, programming paradigms, algorithms, etc.
I can't recommend this book for complete beginners due to some topics (e.g. Big-O notation and algorithms complexity) where explained definitely assuming some deeper reader's technical background. Beside that more experienced people in software engineering should know that the book topics are covered superficially and may not find a lot of new useful information there.
Final Thoughts
It is a nice book about basics of computer science, full of nice illustrations and schemas. Code examples written with pseudo-code instead of some specific programming language so it doesn't create some prerequisite to understand logic explanations. Most of topics covered starting from real world example, followed by some theory and algorithm for solving the problem. I liked this approach a lot.