Skip to main content

Students working at computer screens


The Level 3 computer project will allow you to investigate an exciting physics problem in the same way many researchers investigate new problems in their research work.


The projects have been specially designed to cover some of the main areas of research inside the department
Bridge project students preparing to launch a rocket

What is the Aim of the Course?

At levels 1 and 2, you have learned how to write simple programs using the python programming language and how to code up simple computer algorithms.

Your computing project gives you a 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 text books, 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.

What to attend

After the introductory lecture, there will be two further lectures on different topics including version control, testing and debugging. After that you will attend tutorial style workshops every two weeks. You should check the schedule to see which day and which week you are to attend, and check the departmental webpage giving the official deadlines [intranet access required] for your work. 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.

It is up to you to make the best use of the tutorial time, so you should come prepared, having made progress on your research in your own time. I would suggest that you keep a notebook in which you record ideas and questions that have occurred to you over the course of the two weeks between the tutorial sessions. It is very important that you take responsibility for your work and for making these tutorial sessions useful. It is up to you to bring up topics for discussion in the tutorial.

It is extremely important that you realize that most of your project work needs to be undertaken in your own time.

The tutorials are not intended to solve problems with computer programs. In order to get help with technical problems, you should seek help from the post-grad demonstrators.

What you have to do

You will find a description of your project in the project booklet on DUO under:

Physics Problem Solving > Course Documents > Computing Projects

The initial description is intended only as a guide to get you started. You will need to research your topic in much more depth in order to present a good report. There are four tasks that you will need to undertake: the dates below are only indicative: make sure you check the official deadline on the department’s page [intranet access required].

  • Design and create a “milestone” program: This is a simple program that will get you started on your research. All the programs have well defined plots that you need to make and numbers that you need to calculate. You should not rush into this program, but spend some time designing it so that it can easily be extended to undertake your research goals. The marks for this program are “formative” – we will check your program works and give you suggestions to help you be a better programmer. Everyone should have a working program before the end of Michaelmas term.
  • A short presentation: As you develop your milestone program, you will research your topic, and present your ideas for further exploration in a short talk, along with some preliminary results. You will give your talk at the beginning of Epiphany term.
  • A Poster: In Epiphany term, you will also create a poster drawing on your own research and research papers you have found on the web. Your poster is aimed at demonstrating the excitement of your project to a general physics audience. You will be given the opportunity to practise "marking a poster" in Michaelmas term.
  • Your Report: The majority of your marks are awarded on the basis of your report. This is a document similar to a research paper. Check the department pages [intranet access required] for the page limits and other details . The highest marks will be awarded to reports that show an innovative approach. Reports are to be submitted in early March, as detailed on the official page [intranet access required].

Help on Python

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, go to the Lab's computing guide here.

The very useful "Introduction to Programming in Python" booklet from the Level 1 course can also be found there, as can "Python Traps and Pitfalls'' where we've collected together some common errors that are often made.

Finally, if you find any errors in any of the documentation, please tell us so that we can update it for next year's students.


Head of Level 3 Computing Project

Dr Cristina Zambon

Teaching Fellow in the Department of Physics

Contact Dr Cristina Zambon (email at