PX281-15 Computational Physics
Introductory description
This module develops programming in the Python programming language and follows from PX150 Physics Programming Workshop
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.
- Vectorized programming in Python using Numpy
- Handling, processing and analysing physics data: plotting distributions, data fitting, hypothesis testing
- Monte Carlo simulation for physics modelling: Different types of random numbers, generation of random numbers according to specific distributions. Brownian motion and diffusion
- Digital Signal Processing: the Fourier transform and convolution method, digital filters
- Numerical solutions of ordinary differential equations: the Verlet algorithm for many coupled ODE’s
- 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):
http://link.springer.com/book/10.1007%2F978-3-642-18366-9
Ch. Hill, Learning Scientific Programming with Python, CUP (2016) (e-book)
-
Python documentation: http://www.python.org/doc/
-
Scientific Python: http://docs.scipy.org/doc/scipy/reference/
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
Costs
No further costs have been identified for this module.
You must pass all assessment components to pass the module.
Assessment group A1
Weighting | Study time | Eligible for self-certification | |
---|---|---|---|
Assessed Computing Assignments | 100% | No | |
Programming and reports |
Feedback on assessment
Timetabled workshops
Courses
This module is Option list A for:
- Year 2 of UPXA-F300 Undergraduate Physics (BSc)
-
UPXA-F303 Undergraduate Physics (MPhys)
- Year 2 of F300 Physics
- Year 2 of F303 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)
-
UMAA-G103 Undergraduate Mathematics (MMath)
- Year 2 of G100 Mathematics
- Year 2 of G103 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 UPXA-GF13 Undergraduate Mathematics and Physics (BSc)
-
UPXA-FG31 Undergraduate Mathematics and Physics (MMathPhys)
- Year 2 of GF13 Mathematics and Physics
- Year 2 of FG31 Mathematics and Physics (MMathPhys)
- Year 2 of UMAA-G101 Undergraduate Mathematics with Intercalated Year