While not a reference book or software engineering book like the rest of the suggestions, I'll throw in Godel, Escher, Bach. It's pretty difficult to explain, but if you're deeply interested in computer science and want a challenging and mind-expanding read, it's an easy recommendation.