Calendar for 2024
Event | Date |
---|---|
First Lecture | 10:00 Monday 22nd January |
First Practical Class | 14:00 Monday 12th February |
Last Lecture | 10:00 Wednesday 14th February |
Last Practical Class | 14:00 Friday 8th March |
Exercises hand-in | 16:00 Friday 15th March |
Project hand-in | 16:00 Monday 29th April |
Course Structure
The course consists of three components: a lecture course, a set of compulsory practical exercises, and an optional project (1 unit of Further Work). The formal details of these modules are available on the relevant course pages on the Teaching Information System (TiS) website. A summary is given below, together with some additional information and links to resources elsewhere.
Lectures take place on Mondays and Wednesdays at 10:00 in the Lent Term. The lectures will be videoed and the videos will be made available on Moodle. Lecture handouts will appear on the Computational Physics section of the TiS.
Practical classes with demonstrator support will take place on Mondays, Wednesdays and Fridays, from 14:00-17:30.
The manual for the practical exercises will be available on the Computing Exercises section of the TiS. You can start these as soon as the manual is available. The deadline for the hand-in of exercises is the last day of Lent Term.
You will be able to download the projects manual from the Computing Project section of the TiS. You can choose a project and start as soon as the manual is available - note that you do not need to formally register for a project before you start work. The project deadline is the first Monday of the Easter Term.
Resources
Learning Python/Numpy/Scipy/matplotlib
- Recommended by a student on the course as being at the right level for a physics student learning Python: the book Python for Scientists by John Stewart (formerly at DAMTP). This book is available online for students in Cambridge.
- For an introduction to Python, see the official python tutorial.
- The course lecture notes mention this tutorial
- For an introduction to Scientific Python, see the official Scipy site.
- See also these lecture notes on numerics, science and data with Python.
- More advanced users may benefit from an online book From Python to Numpy. This concentrates on vectorisation but introduces other aspects of python numerical programming.
- By the same author are a book on “Scientific Visualization: Python + Matplotlib” and a matplotlib cheatsheet.
Code examples
- Plotting the field of an electric dipole/multipole, giving this plot:
Numerical Methods
- There are lots of good programming courses on the web, but fewer
comprehensive numerical methods websites. Useful books on numerical
methods include:
- “Numerical Recipes”, 3rd edition. (also in C, C++, FORTRAN, Pascal, etc), by Press, Teukolsky, Vetterling & Flannery (CUP). Excellent encyclopedic summary of theory of many numerical methods and techniques. Almost a bible of methods for researchers.
- “Computational Physics”, Giordano & Nakanishi. Nice introduction at the right level to several commonly-used techniques.