
Monte Carlo (MC) methods are among the most broadly applicable computational techniques in all of physics and physical chemistry. They are used to study phase transitions in magnetic materials, compute free energies of proteins, simulate particle detector responses, model surface catalysis, and sample posterior distributions in data analysis. This course develops both the theoretical foundations and the practical computational skill needed to apply MC methods to real research problems.
This course introduces Monte Carlo methods from first principles, moving systematically from the mathematics of probability and sampling to large-scale simulations of interacting many-body systems. The 15 classes are organised into 9 chapters, balancing rigorous derivations with hands-on Python labs.
We begin with the probabilistic and algorithmic bedrock of Monte Carlo methods, building up the machinery needed to generate, transform, and integrate random variates.
Theoretical machinery comes alive when applied to interacting systems. The second half of the course uses MC to probe phase transitions, free energies, and non-equilibrium dynamics in canonical models of condensed matter and chemical physics.
Participants should be familiar with:
No prior knowledge of stochastic methods is required.
By the end of this course, participants will be able to:
This computational physics course is designed for: