DEV Community

Shyam Salil
Shyam Salil

Posted on

The perfect handbook

Hello Dev.to,

Today, I want to introduce a fantastic Computer Science resource to all of you - A book, that was a good kickstart when I was an absolute beginner and a handbook as I started advancing.

I know that a book may not always be everybody's favorite, but hey, the author has added some super nerdy cartoon comic strips and he has ensured that the monotony is as minimal as possible (it's a book; The monotony just can't be helped ;))

This book deals with the Complexities (Time & Space), Strategies, Data Types, Structures, Programming Paradigms etc - Just a perfect guide!

So without further delay, this is the book -

And a small sneek peak into the contents:

. . . . . . . . . . . . . . . . . . . . . . . . . . ix
1 BASICS . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1 Ideas . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Logic . . . . . . . . . . . . . . . . . . . . . . . . 5
1.3 Counting . . . . . . . . . . . . . . . . . . . . . . 13
1.4 Probability . . . . . . . . . . . . . . . . . . . . . 19
2 COMPLEXITY . . . . . . . . . . . . . . . . . . . . . . . 25
2.1 Counting Time . . . . . . . . . . . . . . . . . . . 27
2.2 The Big-O Notation . . . . . . . . . . . . . . . . 30
2.3 Exponentials . . . . . . . . . . . . . . . . . . . . 31
2.4 Counting Memory . . . . . . . . . . . . . . . . . 33
3 STRATEGY . . . . . . . . . . . . . . . . . . . . . . . . 35
3.1 Iteration . . . . . . . . . . . . . . . . . . . . . . 35
3.2 Recursion . . . . . . . . . . . . . . . . . . . . . 38
3.3 Brute Force . . . . . . . . . . . . . . . . . . . . 40
3.4 Backtracking . . . . . . . . . . . . . . . . . . . . 43
3.5 Heuristics . . . . . . . . . . . . . . . . . . . . . 46
3.6 Divide and Conquer . . . . . . . . . . . . . . . . 49
3.7 Dynamic Programming . . . . . . . . . . . . . . 55
3.8 Branch and Bound . . . . . . . . . . . . . . . . . 58
4 DATA . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
4.1 Abstract Data Types . . . . . . . . . . . . . . . . 67
4.2 Common Abstractions . . . . . . . . . . . . . . . 68
4.3 Structures . . . . . . . . . . . . . . . . . . . . . 72
5 ALGORITHMS . . . . . . . . . . . . . . . . . . . . . . . 85
5.1 Sorting . . . . . . . . . . . . . . . . . . . . . . . 86
5.2 Searching . . . . . . . . . . . . . . . . . . . . . 88
5.3 Graphs . . . . . . . . . . . . . . . . . . . . . . . 89
5.4 Operations Research . . . . . . . . . . . . . . . . 95
6 DATABASES . . . . . . . . . . . . . . . . . . . . . . . . 101
6.1 Relational . . . . . . . . . . . . . . . . . . . . . 102
6.2 Non-Relational . . . . . . . . . . . . . . . . . . . 110
6.3 Distributed . . . . . . . . . . . . . . . . . . . . . 115
6.4 Geographical . . . . . . . . . . . . . . . . . . . . 119
6.5 Serialization Formats . . . . . . . . . . . . . . . 120
7 COMPUTERS . . . . . . . . . . . . . . . . . . . . . . . 123
7.1 Architecture . . . . . . . . . . . . . . . . . . . . 123
7.2 Compilers . . . . . . . . . . . . . . . . . . . . . 131
7.3 Memory Hierarchy . . . . . . . . . . . . . . . . . 138
8 PROGRAMMING . . . . . . . . . . . . . . . . . . . . . . 147
8.1 Linguistics . . . . . . . . . . . . . . . . . . . . . 147
8.2 Variables . . . . . . . . . . . . . . . . . . . . . . 150
8.3 Paradigms . . . . . . . . . . . . . . . . . . . . . 152
CONCLUSION . . . . . . . . . . . . . . . . . . . . . . . . . 163
APPENDIX . . . . . . . . . . . . . . . . . . . . . . . . . . 165
I Numerical Bases . . . . . . . . . . . . . . . . . . 165
II Gauss’ trick . . . . . . . . . . . . . . . . . . . . 166
III Sets . . . . . . . . . . . . . . . . . . . . . . . . 167
IV Kadane’s Algorithm . . . . . . . . . . . . . . . . 168

Enough dopamine? I'd highly recommend you all to get this book (I'm in no way related to the author and this is not an advertisement :); It's just that it's really hard to find a 168-page book that concisely explains all of the important pillars of Computer Science and this is my favorite book of all time! :) That said, I just want to ensure that I pass this on to all of you, so that atleast one of you may be benefitted.

A sample of the book can be found at :
https://code.energy/wp-content/uploads/computer-science-distilled-sample.pdf

To buy the book, please visit Amazon and for more details, you can visit the Publisher's website as well-

Amazon IN Link - https://www.amazon.in/dp/B0731JG96F/ref=dp-kindle-redirect?_encoding=UTF8&btkr=1

Amazon COM Link - https://www.amazon.com/Computer-Science-Distilled-Computational-Problems/dp/0997316020

Code Energy Website(Publisher's site) - https://code.energy/

HAPPY CODING!

Top comments (0)