This book is a welcome addition to the existing literature on the subject. It is needed as much for its pedagogical approach to computational thinking as for its choice of topics in computational physics. Its use of Java as the main programming language brings it up to date with the skills that the new generation of students will bring to class. --Ali Eskandarian, George Washington University