This second edition describes the computational methods used in theoretical physics, and has been fully updated. New sections have been added to cover finite element methods and lattice Boltzmann simulation, density functional theory, quantum molecular dynamics, Monte Carlo simulation, and diagonalisation of one-dimensional quantum systems. It covers many different areas of physics research and different computational methodologies, including computational methods such as Monte Carlo and molecular dynamics, various electronic structure methodologies, methods for solving partial differential equations, and lattice gauge theory. Throughout the book the relations between the methods used in different fields of physics are emphasised. Several new programs are described and can be downloaded from www.cambridge.org/9780521833462. The book requires a background in elementary programming, numerical analysis, and field theory, as well as undergraduate knowledge on condensed matter theory and statistical physics. It will be of interest to graduate students and researchers in theoretical, computational and experimental physics.