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.
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.
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.
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].
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.
Contact Dr Cristina Zambon (email at cristina.zambon@durham.ac.uk)