Skip to main content Skip to navigation

PX277 Computational Physics

Lecturer: Yorck Ramachers
Weighting: 7.5 CATS

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

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

Objectives:
Students should:

  • Understand how computers can be used to solve physics problems
  • Be able to translate physics problems into a form suitable for solution using a computer program
  • Be able to design algorithms and implement them
  • Be able to handle and analyse physics data.

Syllabus:
1. Handling, processing and analysing physics data: plotting distributions, least square and maximum likelihood fit.
2. 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.
3. Numerical integration and differentiation. Mass and centre of mass of object with variable density. Electric fields generated by distributed charge.
4. Numerical solutions of ordinary differential equations. Mechnical oscillations, motion with resistance.

Commitment: 5 lectures and 10 x 1 hour workshops

Assessment: 3 assignments

This module has a home page.

Recommended texts: M. Newman, Computational Physics, CreateSpace Independent Publishing Platform; H.P. Langtangen, A Primer on scientific programming with Python, Springer (e-book).

Leads from: PX150 Physics Programming Workshop

Leads to: PX390 Scientific Programming

yr1.jpg
Year 1 regs and modules
G100 G103 GL11 G1NC

yr2.jpg
Year 2 regs and modules
G100 G103 GL11 G1NC

yr3.jpg
Year 3 regs and modules
G100 G103

yr4.jpg
Year 4 regs and modules
G103

Archived Material
Past Exams
Core module averages