Skip to main content Skip to navigation
Throughout the 2021-22 academic year, we will be prioritising face to face teaching as part of a blended learning approach that builds on the lessons learned over the course of the Coronavirus pandemic. Teaching will vary between online and on-campus delivery through the year, and you should read guidance from the academic department for details of how this will work for a particular module. You can find out more about the University’s overall response to Coronavirus at:

PX281-15 Computational Physics

Undergraduate Level 2
Module leader
Yorck Ramachers
Credit value
Module duration
10 weeks
100% coursework
Study location
University of Warwick main campus, Coventry
Introductory description

This module develops programming in the Python programming language and follows from PX150 Physics Programming Workshop

Module web page

Module aims

To acquire programming skills necessary to solve physics problems with the help of the Python programming language, a language widely used by physicists

Outline syllabus

This is an indicative module outline only to give an indication of the sort of topics that may be covered. Actual sessions held may differ.

  1. Vectorized programming in Python using Numpy
  2. Handling, processing and analysing physics data: plotting distributions, data fitting, hypothesis testing
  3. Monte Carlo simulation for physics modelling: Different types of random numbers, generation of random numbers according to specific distributions. Brownian motion and diffusion
  4. Digital Signal Processing: the Fourier transform and convolution method, digital filters
  5. Numerical solutions of ordinary differential equations: the Verlet algorithm for many coupled ODE’s
  6. Speeding up Python: why, when and what again is a compiler
Learning outcomes

By the end of the module, students should be able to:

  • Explain how computers can be used to solve physics problems
  • Model physics problems using a computer
  • Design algorithms and implement them.
  • Handle and analyse physics data
Indicative reading list

M. Newman, Computational Physics, CreateSpace Independent Publishing Platform, ISBN: 978-
1480145511 (2012).

H.P. Langtangen, A Primer on scientific programming with Python, Springer e-books (2012):

Ch. Hill, Learning Scientific Programming with Python, CUP (2016) (e-book)

View reading list on Talis Aspire

Subject specific skills

Knowledge of programming. Skills in numerical modelling.

Transferable skills

IT skills, analytical, communication, problem-solving, self-study

Study time

Type Required
Lectures 10 sessions of 2 hours (13%)
Practical classes 20 sessions of 1 hour (13%)
Private study 110 hours (73%)
Total 150 hours
Private study description

Working through lecture notes, formulating problems, programming and testing code, discussing with others taking the module, preparing and submitting coursework


No further costs have been identified for this module.

You must pass all assessment components to pass the module.

Assessment group A
Weighting Study time
Assessed Computing Assignments 100%

Programming and reports

Feedback on assessment

Timetabled workshops


This module is Option list A for:

  • Year 2 of UPXA-GF13 Undergraduate Mathematics and Physics (BSc)
  • Year 2 of UPXA-FG31 Undergraduate Mathematics and Physics (MMathPhys)
  • Year 2 of UPXA-F300 Undergraduate Physics (BSc)
  • Year 2 of UPXA-F303 Undergraduate Physics (MPhys)
  • Year 2 of UPXA-F3F5 Undergraduate Physics with Astrophysics (BSc)
  • Year 2 of UPXA-F3FA Undergraduate Physics with Astrophysics (MPhys)

This module is Option list B for:

  • Year 2 of UMAA-G105 Undergraduate Master of Mathematics (with Intercalated Year)
  • Year 2 of UMAA-G100 Undergraduate Mathematics (BSc)
  • Year 2 of UMAA-G103 Undergraduate Mathematics (MMath)
  • Year 2 of UMAA-G106 Undergraduate Mathematics (MMath) with Study in Europe
  • Year 2 of UMAA-G1NC Undergraduate Mathematics and Business Studies
  • Year 2 of UMAA-G1N2 Undergraduate Mathematics and Business Studies (with Intercalated Year)
  • Year 2 of UMAA-GL11 Undergraduate Mathematics and Economics
  • Year 2 of UECA-GL12 Undergraduate Mathematics and Economics (with Intercalated Year)
  • Year 2 of UMAA-G101 Undergraduate Mathematics with Intercalated Year