Topic outline

  • The lectures for the course are pre-recorded and fully available at the beginning - it is up to you how you use them. They are a mixture of presented material and interactive examples using Python. Each topic of the course is focused on a two-week slot with associated exercise sessions. Extended material for each lecture is available here as Jupyter notebooks (also as non-interactive html), so that the lectures focus on the core concepts, and discussions and examples of them.

    The course is based on the revised edition of the book Computational Physics by Mark Newman, but several aspects have been expanded upon and updated. The extended material below should cover everything needed for the course, but the book is still an excellent general introduction and is strongly recommended to those interested.

    The lecture topics are as follows:

    • Topic 1 - Python programming for physicists (Prof. Adam Foster)
      • Intro to Python and Jupyter notebooks
      • Controlling output format, writing data files, using modules, optional and keyword function arguments, list comprehensions
      • Numpy and external packages
      • Graphics and visualization
      • Accuracy and speed
    • Topic 2 - Integrals and derivatives (Prof. Patrick Rinke)
    • Topic 3 - Solution of linear and nonlinear equations (Prof. Patrick Rinke)
    • Topic 4 - Fourier transforms (Prof. Adam Foster)
    • Topic 5 - Differential equations (Prof. Patrick Rinke)
    • Topic 6 - Random processes and Monte Carlo methods (Prof. Adam Foster)