Computational physics : problem solving with Python The use of computation and simulation has become an essential part of the scientific process. Being able to transform a theory into an algorithm requires significant theoretical insight detailed physical and mathematical understanding and a working level of competency in programming. This upper division text provides an unusually broad survey of the topics of modern computational physics from a multidisciplinary computational science point of view. Its philosophy is rooted in learning by doing (assisted by many model programs) with new scientific materials as well as with the Python progr