From my own experience, some examples might be:
- SICP, by Abelson and Sussman
- Paradigms of Artificial Intelligence Programming, by Norvig
By general acclaim, some examples might be:
- How to Design Programs, by Felleisen et al
- Beautiful Racket, by Butterick
- LISP In Small Pieces, by Queinnec
- The Art of Computer Programming, by Knuth
- The Elements of Computing Systems, by Nisan and Schocken
What else comes to mind? (My list is very LISPy, but that's just bc I have high awareness there.)
I will check out Three Easy Pieces! Thanks for the rec.
Compiler Construction Using Java, JavaCC, and Yacc[0]
In my opinion, this has been underrated book. I learned a lot from this book. I enjoyed it and plan to read it again.
If you could check it out. It contains solid explanation from theory to implementation. I'm not affiliated with the author, I just wanted to show I'm grateful for his work.
[0] - https://onlinelibrary.wiley.com/doi/book/10.1002/97811181127...
PS: you might want to reformat your list.
If you are into videos: https://www.youtube.com/playlist?list=PLSE8ODhjZXjbohkNBWQs_...
To me, it was a missing piece of the big puzzle of "how do computers work". I read many a book to answer this question, and came away with three books:
- CODE by Charles Petzold explains the CPU
- Operating Systems: Three Easy Pieces by Arpaci-Dusseau explain OSes
- Crafting Interpreters by Robert Nystrom explains programming languages
Masterfully done.