## 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.