Calendar for 2021
|First Lecture||11:00 Thursday 21st January|
|First Practical Class||14:00 Monday 15th February|
|Last Lecture||10:30 Tuesday 16th February|
|Last Practical Class||14:00 Friday 12th March|
|Exercises hand-in||16:00 Friday 19th March|
|Project hand-in||16:00 Monday 3rd May|
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 Service (TiS) website. A summary is given below, together with some additional information and links to resources elsewhere.
Lectures take place on Tuesdays and Thursdays, weeks 1-4 of the Lent Term. The lectures will be delivered by video on Moodle. Lecture handouts will appear on the Computational Physics section of the TiS. Details of "office hours" where you can ask questions about the lecture material are on the Moodle site.
Practical classes with demonstrator support will take place on Fridays, Mondays, and Wednesdays in weeks 4-7, 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.
- Garth Wells' course from the Engineering Tripos is a self-learning resource which is a good preparation for the Part II course.
- 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.
- For an introduction to Scientific Python, see the official Scipy site.
- See also this unofficial lecture series on scientific Python, and 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.
- LIGO gravitational wave data analysis in Python
- Matthew Evans' tutorial website also includes a PDF of the slides he presented in the practical session.
- A nice article on Verlet integrators
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.
The best texts separate implementation details (i.e. how you use the language) from the theoretical details of the methods.
Note: if you use an online service for work you intend to submit for credit, make sure that your project is private (i.e. not publicly viewable on the web).
- Probably the best place for beginners to learn Latex these days is on Overleaf (signup required). It has now merged with ShareLatex, its major competitor in the field.
- An alternative is Authorea (signup required) which is a more focussed on general scientific document formatting and is less Latex-centric.
- For those more confident in running Latex on the command line, it is available on the MCS systems and you can install a package on your own computer. There are many tutorials online. One starting point is provided by the Cambridge University Engineering Department.