Skip to main content Skip to navigation

CY904 Monte Carlo Methods

This course is now a Core Optional module and will run as ST407 which is a 4th year course in Statistics and ST911 which is a MASDOC module. Please note that the CY904 module will now be called ST407.

Current Lecturer:

Dr Adam Johansen

Current Course Homepage:

Academic Year 2015-16


A large number of scientists and engineers employ Monte Carlo techniques as an essential tool in their work. This module will address foundations and advances in Monte Carlo methodologies.

Learning Outcomes:

  • Knowledge of a collection of simulation methods including Markov chain Monte Carlo (MCMC); understanding of Monte Carlo procedures, their advantages, disadvantages, strengths and pitfalls.
  • Ability to develop and implement (in BUGS) an MCMC algorithm for a given probability distribution
  • Ability to implement an MCMC algorithm in a programming language such as FORTRAN or C for a well-defined problem in a scientific application
  • Ability to evaluate a stochastic simulation algorithm with respect to both its efficiency and the validity of the inference results produced by it.
  • Ability to use Monte Carlo methods for scientific applications.


  • A good working knowledge of a scientific programming language (as for example taught in PX270 C Programming).
  • A basic background in Probability and Statistics (as thaught in CY900).
  • A basic knowledge of the statistical programming language R (as taught in CY900).


  1. Introduction and Examples: The need for Monte Carlo Techniques; History; Example applications.
  2. Basic Simulation Principles: Rejection method; variance reduction; importance sampling.
  3. Markov chain theory: convergence of Markov chains; detailed balance; limit theorems.
  4. Basic MCMC algorithms: Metropolis-Hastings algorithm; Gibbs sampling.
  5. Implementational issues: Burn In; Convergence diagnostics, Monte Carlo error.
  6. More advanced algorithms: Auxiliary variable methods; simulated and parallel tempering; simulated annealing; reversible jump MCMC; EM algorithm.