This book by Richard P. Feynman, published in 1996, is a must read for any computer scientist. In it he goes about explaining some fundamental principles which can be applied to computing. The first four chapters cover: computer organization, theory of computing, and theory of coding and information. The fifth chapter is about the thermodynamics of computing, the sixth chapter is about quantum computing, and the final chapter about Physical Aspects of Computing. Its all presented in Feynman's unique lecturing style.