This book is an introduction to the computational methods used in physics, but also in other scientific fields. It is addressed to an audience that has already been exposed to the introductory level of college physics, usually taught during the first two years of an undergraduate program in science and engineering. It assumes no prior knowledge of numerical analysis, programming or computers and teaches whatever is necessary for the solution of the problems addressed in the text. It can be used as a textbook in introductory computational physics or scientific computing classes.

The book starts with very simple problems in particle motion and ends with an in-depth discussion of advanced techniques used in Monte Carlo simulations in statistical mechanics. The level of instruction rises slowly, while discussing problems like the diffusion equation, electrostatics on the plane, quantum mechanics and random walks. All the material can be taught in two semesters, but a selection of topics can form the material of a one semester course. The book aims to provide the students with the background and the experience needed in order to advance to high performance computing projects in science and engineering. It puts emphasis on hands--on programming of numerical code but also on the production, analysis and interpretation of data. But it also tries to keep the students motivated by considering interesting applications in physics, like chaos, quantum mechanics, special relativity and the physics of phase transitions.

There is a C++ and a Fortran edition for the core programming. Data analysis is performed using the powerful tools of the GNU/Linux environment. All the necessary software is open source and freely available.

The book and the accompanying software are given under a Creative Commons License/GNU public License as a service to the community. It can be used freely as a whole, or any part of it, in any form, by anyone. There is no official distribution of hard copies, but you can use the printing service of your preference in order produce any number of copies you need for you and/or your students. For the lazy ones, a very nice and cheap paperback can be purchaced from lulu.com, amazon.com and conventional bookstores. The ebook can be read in most electronic devices like your PC, tablet or favorite ebook reader and it is freely available from the book's website.

For more info, read the
foreword to the Fortran edition and the
foreword to the C++ edition.