Course unit details:
Computational Physics

Course unit fact file
Unit code PHYS20762
Credit rating 10
Unit level Level 2
Teaching period(s) Semester 2
Offered by Department of Physics & Astronomy
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 for Physicists PHYS20161 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.

Syllabus

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. 

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. 

 

CUIP Teaching Methods

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

CUIP Reading List

Learning Scientific Programming with Python

Hill, Christian 2015

Titus, A.B. Introduction to Numerical Programming: A Practical Guide for Scientists and Engineers
Garcia, A.L. Numerical Methods for Physics (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

Fees and funding

Fees

Tuition fees for home students commencing their studies in September 2027 will be £10,050 per annum. Tuition fees for international students will be £40,300 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 .

Return to course details

Regulated by the Office for Students

The University of Manchester is regulated by the Office for Students (OfS). The OfS aims to help students succeed in Higher Education by ensuring they receive excellent information and guidance, get high quality education that prepares them for the future and by protecting their interests. More information can be found at the OfS website.

You can find regulations and policies relating to student life at The University of Manchester, including our Degree Regulations and Complaints Procedure, on our regulations website.