Most upvoted comment
Most popular programming books on Reddit (2018) rank no. 15
Should you learn C to “learn how the computer works”?(r/programming)
We did something similar as well. The labs were tons of fun. I remember having to run a couple dozen lines of code through the CPU cache on a test once, including some sneakery of using code as data at one point. I do appreciate having done it, but I’m not sure how much practical lasting value that really contributed.
That said, for those who are interested in this there is The Elements of Computing Systems: Building a Modern Computer from First Principles, more commonly known as “NAND to Tetris”.
Petzold’s Code is excellent as well.
Edit: Actually, while I’ve suggested those two let me throw Computer Systems: A Programmer’s Perspective into the mix. It’s a book we used across two courses and I really enjoyed it. We used the 2nd edition (and I have no issue recommending people get a cheaper, used copy of that), but there is a 3rd edition now. Being a proper text book it’s stupidly priced (you can get Knuth’s 4 book box set for $30 more), but it’s a good book.
Anyone have suggestions similar to that Computer Systems’s text? I’ve always wanted to revisit/re-read it, but could always used a different perspective.