For those interested in learning about the inner workings of computers, I also recommend the book Code by Charles Petzold.
It is interesting to see how many programmers (including me) get graduated without learning this. Although the reason is known.