2
233//0011//2200118 8 CCoommppuutteer r SScciieenncce e DDiissttiilllleedd
h
httttppss::////ssoouurrcceemmaakkiinngg..ccoomm//ccoommppuutteerr--sscciieennccee--ddiissttiilllleed d 11//3355
Computer Science
Computer Science Distilled
Distilled
Meet a new book! It’s called
Meet a new book! It’s called Computer Science DistilledComputer Science Distilled, and it’s the missing book on the principles, and it’s the missing book on the principles
of computation for ordinary
of computation for ordinary programmers. It avoiprogrammers. It avoids the complexity coders don’t need. It gets theds the complexity coders don’t need. It gets the
main points across.
main points across.
Imagine how empowering it
Imagine how empowering it would feel to underswould feel to understand the important tand the important conceconcepts all seniorpts all senior
programmers abide by. This
programmers abide by. This book makes it easy abook makes it easy and enjoyable for you to do so—no nd enjoyable for you to do so—no burnouts,burnouts,
no exhaustion or frustration
no exhaustion or frustration from academic jargofrom academic jargon!n!
It’s a short book, written in p
It’s a short book, written in plain, basic English. Itlain, basic English. It presents ideas in their simplest form. It focuses presents ideas in their simplest form. It focuses
on practical aspects of computer science that matter most: everyday things that directly impact the
on practical aspects of computer science that matter most: everyday things that directly impact the
quality of your code.
quality of your code.
Look inside
Look inside
DOWNLOAD THE FIRST 2
DOWNLOAD THE FIRST 2
CHAPTERS OF THE BOOK FOR
CHAPTERS OF THE BOOK FOR
FREE AND CHECK THE QUALITY OF
FREE AND CHECK THE QUALITY OF
THE BOOK FOR YOURSELF.
THE BOOK FOR YOURSELF.
What's inside the book?
What's inside the book?
An introduction into computer logic and math
An introduction into computer logic and math
that helps to: that helps to: ModelModel ideasideas into owcharts and into owcharts and pseudocode.pseudocode.
h
httttppss::////ssoouurrcceemmaakkiinngg..ccoomm//ccoommppuutteerr--sscciieennccee--ddiissttiilllleed d 22//3355 Learn to know right from wrong with
Learn to know right from wrong with logiclogic..
Count
Count stuff. stuff.
Calculate
Calculate probabilitiesprobabilities safely. safely.
4 ways to
4 ways to
measure algorithms complexit
measure algorithms complexit
y
y
that allow you to: that allow you to: Count and interpretCount and interpret timetime complexities. complexities.
Express their growth with
Express their growth with fancyfancy Big-OBig-O’’s.s.
Run away from
Run away from exponentialexponential algorithms. algorithms.
Make sure you have enough computer
Make sure you have enough computer memory memory ..
8 strategies to solve
8 strategies to solve
computation problems
computation problems
that let you: that let you: Handle repetitive tasks throughHandle repetitive tasks through iterationiteration..
Iterate elegantly using
Iterate elegantly using recursionrecursion..
Use
Use brute forcebrute force when you’re lazy but powerful. when you’re lazy but powerful.
Test bad options and then
Test bad options and then backtrackbacktrack..
Save time with
Save time with heuristicsheuristics for a reasonable way out. for a reasonable way out.
Divide and conquer
Divide and conquer your toughest your toughest opponents.opponents.
Identify old issues
Identify old issues dynamically dynamically not to waste energy again. not to waste energy again.
Bound
Bound your problem so the your problem so the solution doesn’t escape.solution doesn’t escape.
15 most common data types and structures
15 most common data types and structures
that show you: that show you: How abstract data typesHow abstract data types keep your code clean. keep your code clean.
Common abstractions
Common abstractions you need in your toolbox. you need in your toolbox.
Different ways to
Different ways to structure datastructure data in memory. in memory.
7 sorting,
7 sorting,
searching and graphs-related algorithms
searching and graphs-related algorithms
that educate you how to: that educate you how to: EfcientlyEfciently sortsort super long lists. super long lists.
Quickly
Quickly searchsearch for the item you need. for the item you need.
Operate and manipulate
Operate and manipulate graphsgraphs..
Use WWII
Use WWII operations researchoperations research to optimize processes. to optimize processes.
5 major types of databases
5 major types of databases
that let you: that let you: Understand the2
233//0011//2200118 8 CCoommppuutteer r SScciieenncce e DDiissttiilllleedd
h
httttppss::////ssoouurrcceemmaakkiinngg..ccoomm//ccoommppuutteerr--sscciieennccee--ddiissttiilllleed d 22//3355 Learn to know right from wrong with
Learn to know right from wrong with logiclogic..
Count
Count stuff. stuff.
Calculate
Calculate probabilitiesprobabilities safely. safely.
4 ways to
4 ways to
measure algorithms complexit
measure algorithms complexit
y
y
that allow you to: that allow you to: Count and interpretCount and interpret timetime complexities. complexities.
Express their growth with
Express their growth with fancyfancy Big-OBig-O’’s.s.
Run away from
Run away from exponentialexponential algorithms. algorithms.
Make sure you have enough computer
Make sure you have enough computer memory memory ..
8 strategies to solve
8 strategies to solve
computation problems
computation problems
that let you: that let you: Handle repetitive tasks throughHandle repetitive tasks through iterationiteration..
Iterate elegantly using
Iterate elegantly using recursionrecursion..
Use
Use brute forcebrute force when you’re lazy but powerful. when you’re lazy but powerful.
Test bad options and then
Test bad options and then backtrackbacktrack..
Save time with
Save time with heuristicsheuristics for a reasonable way out. for a reasonable way out.
Divide and conquer
Divide and conquer your toughest your toughest opponents.opponents.
Identify old issues
Identify old issues dynamically dynamically not to waste energy again. not to waste energy again.
Bound
Bound your problem so the your problem so the solution doesn’t escape.solution doesn’t escape.
15 most common data types and structures
15 most common data types and structures
that show you: that show you: How abstract data typesHow abstract data types keep your code clean. keep your code clean.
Common abstractions
Common abstractions you need in your toolbox. you need in your toolbox.
Different ways to
Different ways to structure datastructure data in memory. in memory.
7 sorting,
7 sorting,
searching and graphs-related algorithms
searching and graphs-related algorithms
that educate you how to: that educate you how to: EfcientlyEfciently sortsort super long lists. super long lists.
Quickly
Quickly searchsearch for the item you need. for the item you need.
Operate and manipulate
Operate and manipulate graphsgraphs..
Use WWII
Use WWII operations researchoperations research to optimize processes. to optimize processes.
5 major types of databases
5 major types of databases
that let you: that let you: Understand theh
httttppss::////ssoouurrcceemmaakkiinngg..ccoomm//ccoommppuutteerr--sscciieennccee--ddiissttiilllleed d 33//3355 Be exible using
Be exible using non-relationalnon-relational database systems. database systems.
Coordinate computers and
Coordinate computers and distributedistribute your data. your data.
Map stuff better with
Map stuff better with geographicalgeographical database systems. database systems.
Share data across systems thanks to data
Share data across systems thanks to data serializationserialization..
A tour into
A tour into
computer architecture
computer architecture
where you will learn to: where you will learn to: Understand foundationsUnderstand foundations of computerof computerarchitecturearchitecture..
Choose a
Choose a compilercompiler to translate your code for computers. to translate your code for computers.
Trade storage for speed with the
Trade storage for speed with the memory hierarchy memory hierarchy ..
An overview of a programming language
An overview of a programming language
where you will see how to: where you will see how to: Spot the secretSpot the secret linguisticslinguistics that govern code. that govern code.
Store your precious information inside
Store your precious information inside variables variables..
Think solutions under different
Think solutions under different paradigmsparadigms..
Who's the Author?
Who's the Author?
Hi! My name is Wladston, and I have a master’s degree in computer
Hi! My name is Wladston, and I have a master’s degree in computer
science. I love academic work: my research was published in
science. I love academic work: my research was published in
several prestigious conferences. But I have to admit: learning
several prestigious conferences. But I have to admit: learning
computer science from traditional textbooks was tough. How on
computer science from traditional textbooks was tough. How on
Earth can anyone who’s not a full-time academic researcher learn
Earth can anyone who’s not a full-time academic researcher learn
from these books? No
from these books? No wonder most people don’t learnwonder most people don’t learneven theeven the
basics
basics of computer science. of computer science.
That’s why I took on the challenge to create a different computer science book, from scratch. Along
That’s why I took on the challenge to create a different computer science book, from scratch. Along
the years, I collected and simplied computer science points every programmer must know—
the years, I collected and simplied computer science points every programmer must know—
ditching the rigor and formality of academia. Now, I’m proud to nally show you the result of my
ditching the rigor and formality of academia. Now, I’m proud to nally show you the result of my
work.
work.
Why should I buy this book?
Why should I buy this book?
Besides making you a better programmer,
Besides making you a better programmer, Computer Science DistilledComputer Science Distilled can boost your career in can boost your career in
several ways:
23/01/2018 Computer Science Distilled
https://sourcemaking.com/computer-science-distilled 4/35
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 condent 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 imsy 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
https://sourcemaking.com/computer-science-distilled 5/35 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 reviewI 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 nd.
/ 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.
23/01/2018 Computer Science Distilled
https://sourcemaking.com/computer-science-distilled 6/35
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
Show more reviews
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.
https://sourcemaking.com/computer-science-distilled 7/35
For
$22.50
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.
Buy now
Design Patterns AntiPatterns Refactoring UML My account Forum Contact us About us © 2007-2018 SourceMaking.comAll rights reserved. Privacy policy
$9.95
23/01/2018 Computer Science Distilled
23/01/2018 Computer Science Distilled
23/01/2018 Computer Science Distilled
23/01/2018 Computer Science Distilled
23/01/2018 Computer Science Distilled
23/01/2018 Computer Science Distilled
23/01/2018 Computer Science Distilled
23/01/2018 Computer Science Distilled
23/01/2018 Computer Science Distilled
23/01/2018 Computer Science Distilled
23/01/2018 Computer Science Distilled
23/01/2018 Computer Science Distilled
23/01/2018 Computer Science Distilled
23/01/2018 Computer Science Distilled