The Level 3 computing project will allow you to investigate an exciting physics problem, via simulations, in the same way as many researchers.
In previous years, you have learned the basics of Python and how to write simple algorithms.
Your computing project gives you the chance to apply these skills to undertake some research in physics. You will be able to investigate aspects of physics that go well beyond most undergraduate textbooks, questioning whether the results presented are correct, and extending the ideas into regimes that cannot be addressed with analytic mathematics. The computer is a powerful tool – if you can write down a problem in mathematical form, then the computer will be able to solve it. You must however pay attention to the accuracy of your result and understand the errors that arise from the way in which you have discretized the problem. An ideal report should be a mini-research paper, perhaps re-examining old work with new methodologies.
After the introductory lecture, there will be two further lectures on different topics including version control, testing and debugging. Following the lectures, you will attend a tutorial style workshop every fortnight with your academic staff supervisor. In order to make the most out of your tutorial time, you should come prepared, having made progress on your research in your own time. It is suggested that you keep a notebook to record ideas and questions that have occurred to you between the tutorial sessions. It is up to you to bring up topics for discussion in the tutorial.
The tutorials are not intended to solve problems with computer programs. Computing support will be provided by post-grad demonstrators who will use a mixture of synchronous and asynchronous tools such as drop-in sessions and Talkyard.
Most of your project work must be undertaken in your own time!
Current students will find a project description on BLU, which is intended only as a guide to get you started. In order to produce a good report, you will need to complete in depth research into your topic.
You will undertake multiple tasks:
Python is a good beginners' language because you can develop programs very quickly. This means you can spend more time focused on the physics of the problem you are tackling. For help on Python programming, visit this page.
If you find any errors in any of the documentation, please tell us so that we can update it for next year's students!