Master of Physics (MPhys)

MPhys Physics

Join a physics Department of international renown that offers great choice and flexibility, leading to master's qualification.

  • Duration: 4 years
  • Year of entry: 2025
  • UCAS course code: F305 / Institution code: M20
  • Key features:
  • Scholarships available
  • Accredited course

Full entry requirementsHow to apply

Course unit details:
Computational Physics

Course unit fact file
Unit code PHYS20762
Credit rating 10
Unit level Level 2
Teaching period(s) Semester 2
Available as a free choice unit? No

Overview

Computational Physics introduces students to numerical methods and programming techniques for solving complex physical problems. The course covers high-level scripting languages for data analysis, numerical solutions to ordinary differential equations, and Monte Carlo methods for modelling random processes. Emphasis is placed on practical applications, including simulating physical systems, assessing numerical accuracy, and understanding sources of error. Through hands-on projects, students will develop computational skills essential for modern physics research and problem-solving. 

Pre/co-requisites

Unit title Unit code Requirement type Description
Introduction to Programming PHYS10362 Pre-Requisite Compulsory

Aims

To introduce students to high-level programming for numerical computing and data analysis, equipping them with practical computational skills relevant to physics applications.

 

To develop an understanding of classical numerical methods, including Euler and higher-order techniques, for solving ordinary differential equations and analysing physical systems.

 

To provide a foundation in Monte Carlo techniques and statistical methods, emphasising their role in modelling random processes in stochastic systems and simulating physical phenomena.

 

To enable students to apply computational techniques to model and analyse real-world physical systems, assess numerical accuracy, and identify sources of error. 

Learning outcomes

On the successful completion of the course, students will be able to:
 
1. Develop and implement programmes using high-level scripting languages for numerical computing and data analysis in physics.
2. Apply numerical methods, including Euler and higher-order techniques, to solve ordinary differential equations and model physical systems.
3. Analyse the effectiveness of Monte Carlo techniques in simulating random processes and evaluating stochastic systems.
4. Critically evaluate numerical solutions by assessing accuracy, identifying sources of error, and comparing computational approaches in physics applications.

Teaching and learning methods

This is a continuously assessed course, structured around asynchronous materials divided into four parts: Week 1, covering a revision of Python 3 and an introduction to Jupyter Notebooks which is the sole programming environment used throughout the course; Weeks 2–3, focusing on Project 1 (Data Analysis); Weeks 4–7, dedicated to Project 2 (Numerical Integration); and Weeks 8–12, where students work on Project 3 (Monte Carlo Method). Each project includes a detailed task description, video instructions, and supplementary resources online. Students also receive in-person feedback from the demonstrators and the unit leads during two three-hour drop-in computer-lab sessions, with each student assigned to one of these sessions. Additionally, a Piazza discussion forum is provided, where students can ask questions and receive answers from their peers, demonstrators, and unit leads. 

Assessment methods

You will carry out 3 short projects (as an individual, not in a pair or group). You must PASS projects 1 (receive more than 40%) to be allowed to submit projects 2 and 3. The final two projects contribute 50% each to the final mark, respectively. 

Feedback methods

Feedback will be given orally by demonstrators during lab sessions and additional written feedback  will be provided with the mark for each project. 

Recommended reading

Learning Scientific Programming with Python, Christian Hill, Cambridge University Press 2016.

Introduction to Numerical Programming: A Practical Guide for Scientists and Engineers, Titus, A. BeU, CRC Press 2014.

Numerical Methods for Physics, Alejandro L. Garcia, A.L., Prentice Hall, 1994. 

Study hours

Scheduled activity hours
Practical classes & workshops 36
Independent study hours
Independent study 64

Teaching staff

Staff member Role
Saeed Bahramy Unit coordinator
Draga Pihler-Puzovic Unit coordinator

Additional notes

All material for the unit, such as videos, example scripts and notes, is available online via Blackboard.

* Tutorial = online classes

Return to course details