Anyone interested in learning more about computers might enjoy ‘Code’ by Charles Petzold. I’ve just finished it, and found it very readable.
It sets out to be a beginners guide to how computers work, but without all the cute analogies and pictures of 1’s and 0’s in pidgeon holes that seem to crop up in other texts like this.
It probably helps that I first encountered the author as my introduction to programming Windows. As I type this I’m unsure if I ever read all of his classic ‘Programming Windows’ (I was a student when I needed to, and probably borrowed it), but I certainly read large chunks. It has a clear, no-nonsense, style I enjoyed.
All you really need to understand to follow Code is how a relay works, and he explains that from first principles. He then works up to laying them out by the thousand to produce a computer recognisable today. One interesting observation is that much of the technology needed to create a computer was around a hundred years old before someone assembled one we would recognise. There’s a different path the world might have taken, if that had happened earlier!