Part II Computing

Course site computational-physics.tripos.org

Austen Lamacraft

Schedule

  • Eight lectures in the first half of Lent
  • After the lectures there will be four computing exercises to be completed
  • Exercises count for 0.2 units or further work, or roughly 2% of final mark
  • Each exercise should only take you a few hours.

Computing Project

Additionally, you may choose to offer a Computational Physics project for one unit of further work

  • Choose a problem from the project list

  • Analyse the problem, write and test Python code to investigate it, then write up your work in a report

  • Can start project work once the project list is published in the middle of Lent

  • Deadline for submission of the project report is 16:00 on the first Monday of Full Easter term (3rd May 2027)

  • Assessment is based on the report followed by a 25 minute viva, focusing on the physics and the way computation is used to understand it

Prerequisites

  • Course assumes a basic knowledge of the Python language, including variables, control flow, and writing and using functions, at the level of last year’s IB course (which has an excellent handout)

Learning outcomes

In this course you will learn

  1. About the Python scientific stack (based on the NumPy library)
  2. Its use in implementing some common algorithms in computational physics
  3. Basic ideas of computational complexity used in the analysis of algorithms

Outline

  1. Setup. Running Python. Notebooks. Language overview
  2. NumPy and friends
  3. Floating point and all that
  4. Solving differential equations with SciPy
  5. Monte Carlo methods
  6. Introduction to algorithms and complexity
  7. The fast Fourier transform
  8. Automatic differentiation
  9. Linear algebra with NumPy