- Structure and Interpretation of Computer Programs
- Computer Systems: A Programmer's Perspective
- The Algorithm Design Manual
- Mathematics for Computer Science
- Operating Systems: Three Easy Pieces
- Computer Networking: A Top-Down Approach
- Readings in Database Systems
- Crafting Interpreters
- Designing Data-Intensive Applications
Other books I've seen:
- Computer Graphics From Scratch
- Haskell Programming From First Principles
- Zero To Production In Rust