Master of Physics (MPhys)

MPhys Physics with Astrophysics

Combine master's-level study in physics and astrophysics at a Department with a stellar reputation for both.
  • Duration: 4 years
  • Year of entry: 2025
  • UCAS course code: F3FA / Institution code: M20
  • Key features:
  • Scholarships available
  • Accredited course

Full entry requirementsHow to apply

Fees and funding

Fees

Tuition fees for home students commencing their studies in September 2025 will be £9,535 per annum (subject to Parliamentary approval). Tuition fees for international students will be £36,500 per annum. For general information please see the undergraduate finance pages.

Policy on additional costs

All students should normally be able to complete their programme of study without incurring additional study costs over and above the tuition fee for that programme. Any unavoidable additional compulsory costs totalling more than 1% of the annual home undergraduate fee per annum, regardless of whether the programme in question is undergraduate or postgraduate taught, will be made clear to you at the point of application. Further information can be found in the University's Policy on additional costs incurred by students on undergraduate and postgraduate taught programmes (PDF document, 91KB).

Scholarships/sponsorships

The University of Manchester is committed to attracting and supporting the very best students. We have a focus on nurturing talent and ability and we want to make sure that you have the opportunity to study here, regardless of your financial circumstances.

For information about scholarships and bursaries please visit our undergraduate student finance pages and our Department funding pages .

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