Computer Science

Art of Computer Programming
Donald E. Knuth

The ultimate in computer science books. Only the first 3 of 7 volumes are complete, because Knuth got Babbage Syndrome and had to fix typesetting by inventing TeX first. The Art of Computer Programming Reading Group exists to help those who are having trouble reading it all in one sitting.

Code - The Hidden Language of computer hardware and Software
Charles Petzold

Fantastic book. Begins at data representation (morse code, braille, even bar codes!), proceeds to logic circuits, building full binary adders (with an explanation of how to do subtraction without borrowing), through to memory circuits, through to computer control using machine code and assembly.

Makes you want to break out that old electronics kit and start soldering. 10 (binary) thumbs up!

Interaction Design

About Face 3 - The Essentials Of Interaction Design
Alan Cooper, Robert Reimann, David Cronin

Excellent introduction to interaction design. Advocates goal-directed design.

Software Engineering

The Pragmatic Programmer
Andrew Hunt, David Thomas

A book about becoming a more efficient programmer.

Code Complete
Steve McConnell

A book about software construction. More general than Pragmatic Programmer. Loads of information on how software development projects should be run, with research citations to justify approaches.