Applied Computer Science
A narrative book on production software, data, ML, and infrastructure engineering — taught across six languages, each concept cross-linked to a runnable project. Authored in Quarto, read free at jameshu.io/books/applied-cs.
What This Is
A narrative technical book I wrote about the engineering behind production software, data, ML, and infrastructure systems — Applied Computer Science: Production systems, built from first principles. It teaches the concepts the way they're practiced: the idea first, then the working system that proves it. Every chapter is cross-linked to a real, runnable implementation in a companion projects repo via a Build it → pattern.
Read it free online → jameshu.io/books/applied-cs
What's Inside
Six parts, 49 chapters, each with runnable code.
- •Part I — Cross-Language Foundations: the cross-cutting concepts — concurrency, type systems, memory, error handling, testing, performance — taught once, comparatively across all six languages.
- •Part II — Language Field Guides: Python, TypeScript, Go, Java, C++, and Rust, each slimmed to its distinctive idioms and ecosystem.
- •Part III — Data Engineering: orchestration, processing engines, warehousing, streaming, data quality, and the infrastructure underneath.
- •Part IV — Machine Learning Engineering: ML foundations, deep-learning frameworks, ML systems, production ML, distributed training, and GPU/CUDA.
- •Part V — Cross-Cutting Concerns: what production demands across every system — CI/CD, observability, security, and cost.
- •Part VI — Infrastructure: containerization, orchestration, and benchmarking.
How It's Built
Authored in Markdown and rendered with Quarto to a searchable HTML site and a PDF. Diagrams are written as code in D2 and embedded as SVG; a Python pre-render step builds the keyword index. Code examples are real and runnable, living in the companion applied-cs-projects repo and linked from each chapter. Rendered via CI release and served from jameshu.io/books/applied-cs.
Who It's For
Engineers who want the concepts behind production systems rather than just syntax, polyglot developers working across the six languages, and self-taught developers filling in computer-science foundations. The AI-engineering material lives in the separate AI Engineering book.