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
- About the Python scientific stack (based on the NumPy library)
- Its use in implementing some common algorithms in computational physics
- Basic ideas of computational complexity used in the analysis of algorithms
Outline
- Setup. Running Python. Notebooks. Language overview
- NumPy and friends
- Floating point and all that
- Solving differential equations with SciPy
- Monte Carlo methods
- Introduction to algorithms and complexity
- The fast Fourier transform
- Automatic differentiation
- Linear algebra with NumPy