The Science of Computation (early access)
What is an algorithm? How does a computer work? Can computers do anything, or do they have inherent limitations? What is the Internet, and how can you stream videos from one side of the world to the other in almost real-time? How is software made? What is artificial intelligence, and will it ever surpass us?
This book tries to answer these and many other, related questions. In the next few hundred pages, I’ll take you on a journey across the most important topics and themes in Computer Science. We will meet many of its most significant figures -from Alan Turing, Edger Djikstra, and Donald Knuth, to Geoffrey Hinton and Yann LeCunn- and see how they came up with some of the most brilliant ideas in the science of computation.
We will dive into some of the most fascinating discoveries in Computer Science, from the neural networks that power large language models to the packet-switching protocols that make the Internet possible. We will learn how computers work, in and out, why they are so powerful, and their intrinsic limitations. In the end, you will gain a big-picture understanding of the whole field of Computer Science. This book contains no complicated math or code.
There are no prerequisites to reading it, although it is perhaps better suited for high school-level students or older because some concepts in computer science are somewhat sophisticated and rely on intuitions that students form around that age. It is also a perfect companion for a Computer Science major, as it complements the more theoretically- or technically-oriented bibliography you will encounter in college textbooks.
The book has five parts covering all of Computer Science:
- Foundations of Computation: a tour around the foundational ideas in CS, including the Turing machine and the P vs NP problem.
- Algorithms and Data Structures: an exploration of the fundamental algorithms and data structures in CS.
- Computational Systems: a journey from the essential components of a computer to the whole Internet.
- Software Engineering: a look at what it takes to make software that works.
- Artificial Intelligence: a broad overview of the most exciting field in Computer Science.
NOTE: This is a work-in-progress. By buying this product, you gain access to the current draft plus all future updates for free, and you help support the completion of this project!
You'll get a PDF and EPUB version of the current draft, plus access to all future updates.