Download Chapter 5: Building a CHIP-8 Virtual Machine
Look Inside!
If you’ve been programming for a while, you may have found yourself wondering about the deeper principles behind the code. How are programming languages implemented? What does an interpreter really do? How does the microprocessor execute instructions at a fundamental level? How does a machine learning algorithm make decisions?
Computer Science from Scratch is for experienced Python programmers who want to fill in those gaps—not through abstract lectures, but through carefully designed projects that bring core CS concepts to life. Understanding these fundamental building blocks will make you a more versatile and effective programmer.
Each chapter presents a focused, hands-on project that teaches a fundamental idea in computer science:
- INTERPRETERS: Understand syntax, parsing, and evaluation by writing a BASIC interpreter
- EMULATORS: Learn computer architecture by building an NES emulator from the ground up
- GRAPHICS: Explore image manipulation and algorithmic art through computer graphics projects
- MACHINE LEARNING: Demystify classification by implementing a simple, readable KNN model
These projects aren’t about building tools—they’re structured lessons that use code to reveal how computing works. Each chapter concludes with real-world context, thoughtful extensions, and exercises to deepen your understanding.
Authored by David Kopec, a computer science professor and author of the popular Classic Computer Science Problems series, this is not a beginner’s book, and it’s not a theory-heavy academic text. It’s a practical, code-driven introduction to the essential ideas and mechanisms of computer science—written for programmers who want more than syntax.
If you’ve been writing Python and are ready to explore the foundations behind computing, this book will guide you there—with clarity, depth, and purpose.