
Computer Science From Scratch
Building Interpreters, Art, Emulators and MP in Python
David Kopec(Author)
No Starch Press
Published on 30. September 2025
Book
Paperback/Softback
272 pages
978-1-7185-0430-1 (ISBN)
Description
Computer science can feel unapproachable for those without a formal CS education. Fun Computer Science Projects in Python pulls back that curtain, illuminating several foundational CS concepts through creative, hands-on projects. Each of the 7 projects is presented in a code-centric tutorial that gently introduces topics like interpreters, emulators, and machine learning without getting bogged down by complex theory. The projects showcase advanced Python language features and clean code principles while exploring interesting algorithms. Chapters conclude with discussions of real-world applications of the topic and proposed exercises to extend the reader's skills. Covers Python 3.x
More details
Language
English
Place of publication
San Francisco
United States
Dimensions
Height: 231 mm
Width: 177 mm
Thickness: 20 mm
Weight
538 gr
ISBN-13
978-1-7185-0430-1 (9781718504301)
Copyright in bibliographic data and cover images is held by Nielsen Book Services Limited or by the publishers or by their respective licensors: all rights reserved.
Schweitzer Classification
Other editions
Additional editions

E-Book
09/2025
No Starch Press
€38.99
Available for download
Person
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.
Content
Acknowledgments
Introduction
Part I: Interpreters
Chapter 1: The Smallest Possible Programming Language
Chapter 2: Writing a BASIC Interpreter
Part II: Computational Art
Chapter 3: Retro Image Processing
Chapter 4: A Stochastic Painting Algorithm
Part III: Emulators
Chapter 5: Building a CHIP-8 Virtual Machine
Chapter 6: Emulating the NES Game Console
Part IV: Super-Simple Machine Learning
Chapter 7: Classification with K-Nearest Neighbors
Chapter 8: Regression with K-Nearest Neighbors
Afterword
Appendix: Bitwise Operations
Index
Introduction
Part I: Interpreters
Chapter 1: The Smallest Possible Programming Language
Chapter 2: Writing a BASIC Interpreter
Part II: Computational Art
Chapter 3: Retro Image Processing
Chapter 4: A Stochastic Painting Algorithm
Part III: Emulators
Chapter 5: Building a CHIP-8 Virtual Machine
Chapter 6: Emulating the NES Game Console
Part IV: Super-Simple Machine Learning
Chapter 7: Classification with K-Nearest Neighbors
Chapter 8: Regression with K-Nearest Neighbors
Afterword
Appendix: Bitwise Operations
Index