Computer Science from Scratch: Building Interpreters, Art, Emulators and ML in Python by Kopec, David

Computer Science from Scratch: Building Interpreters, Art, Emulators and ML in Python

You know how to write Python. Now master the computer science that makes it work. If you've...
$49.99 USD
$49.99 USD
Please hurry! Only 100 left in stock
Author: David Kopec
Format: Paperback
Language: English
Subtotal: $49.99

Free Shipping (Orders $60 USD or More)

Computer Science from Scratch: Building Interpreters, Art, Emulators and ML in Python by Kopec, David

Computer Science from Scratch: Building Interpreters, Art, Emulators and ML in Python

$49.99

Computer Science from Scratch: Building Interpreters, Art, Emulators and ML in Python

$49.99
Author: David Kopec
Format: Paperback
Language: English
You know how to write Python. Now master the computer science that makes it work.

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.

Author: David Kopec
Publisher: No Starch Press
Published: 09/30/2025
Pages: 280
Binding Type: Paperback
Weight: 1.20lbs
Size: 9.40h x 6.90w x 0.70d
ISBN: 9781718504301

About the Author
David Kopec is an associate professor of computer science at Albright College. He is the author of five programming books, including the Classic Computer Science Problems series, and spent several years as an iOS developer for startups. In addition to his teaching work, David is an avid podcaster and indie app developer with an MS in computer science from Dartmouth and an EMBA from Quantic.

Returns Policy

You may return most new, unopened items within 30 days of delivery for a full refund. We'll also pay the return shipping costs if the return is a result of our error (you received an incorrect or defective item, etc.).

You should expect to receive your refund within four weeks of giving your package to the return shipper, however, in many cases you will receive a refund more quickly. This time period includes the transit time for us to receive your return from the shipper (5 to 10 business days), the time it takes us to process your return once we receive it (3 to 5 business days), and the time it takes your bank to process our refund request (5 to 10 business days).

If you need to return an item, simply login to your account, view the order using the "Complete Orders" link under the My Account menu and click the Return Item(s) button. We'll notify you via e-mail of your refund once we've received and processed the returned item.

Shipping

We can ship to virtually any address in the world. Note that there are restrictions on some products, and some products cannot be shipped to international destinations.

When you place an order, we will estimate shipping and delivery dates for you based on the availability of your items and the shipping options you choose. Depending on the shipping provider you choose, shipping date estimates may appear on the shipping quotes page.

Please also note that the shipping rates for many items we sell are weight-based. The weight of any such item can be found on its detail page. To reflect the policies of the shipping companies we use, all weights will be rounded up to the next full pound.

Related Products

Recently Viewed Products