PX2777.5 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.
 Handling, processing and analysing physics data: plotting distributions, least square and
maximum likelihood fit.  Monte Carlo simulation for physics modelling. Different types of random numbers, quality of
random number generators. Generation of random numbers according to specific distributions.
Brownian motion and diffusion.  Numerical integration and differentiation. Mass and centre of mass of object with variable
density. Electric fields generated by distributed charge.  Numerical solutions of ordinary differential equations. Mechanical oscillations, motion with
resistance.
Learning outcomes
By the end of the module, students should be able to:
 Explain how computers can be used to solve physics problems
 Translate physics problems into a form suitable for implementing in computer program
 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 ebooks (2012):
http://link.springer.com/book/10.1007%2F9783642183669 
Python documentation: http://www.python.org/doc/

Scientific Python: http://docs.scipy.org/doc/scipy/reference/
Subject specific skills
Knowledge of programming. Skills in numerical modelling.
Transferable skills
IT skills, analytical, communication, problemsolving, selfstudy
Study time
Type  Required 

Lectures  5 sessions of 2 hours (13%) 
Practical classes  10 sessions of 1 hour (13%) 
Private study  55 hours (73%) 
Total  75 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  

Assessed Computing Assignments  100%  
Programmning and reports 
Feedback on assessment
Timetabled workshops
Courses
This module is Option list A for:
 Year 2 of UPXAFG33 Undergraduate Mathematics and Physics (BSc MMathPhys)
 Year 2 of UPXAGF13 Undergraduate Mathematics and Physics (BSc)
 Year 2 of UPXAFG31 Undergraduate Mathematics and Physics (MMathPhys)
 Year 2 of UPXAF304 Undergraduate Physics (BSc MPhys)
 Year 2 of UPXAF300 Undergraduate Physics (BSc)
 Year 2 of UPXAF303 Undergraduate Physics (MPhys)
 Year 2 of UPXAF3N1 Undergraduate Physics and Business Studies
This module is Option list B for:
 Year 2 of UMAAG105 Undergraduate Master of Mathematics (with Intercalated Year)
 Year 2 of UMAAG100 Undergraduate Mathematics (BSc)
 Year 2 of UMAAG103 Undergraduate Mathematics (MMath)
 Year 2 of UMAAG106 Undergraduate Mathematics (MMath) with Study in Europe
 Year 2 of UMAAG1NC Undergraduate Mathematics and Business Studies
 Year 2 of UMAAG1N2 Undergraduate Mathematics and Business Studies (with Intercalated Year)
 Year 2 of UMAAGL11 Undergraduate Mathematics and Economics
 Year 2 of UECAGL12 Undergraduate Mathematics and Economics (with Intercalated Year)
 Year 2 of UMAAG101 Undergraduate Mathematics with Intercalated Year