PX159 Physics Programming Workshop
Lecturer: Michal Kreps and Richard West
Weighting: 10 CATS
This module introduces the Python programming language. It is quick to learn and encourages good programming style. Python is an interpreted language, which makes it flexible and easy to share. It allows easy interfacing with modules, which have been compiled from C or Fortran sources. It is widely used throughout physics and there are many downloadable free-to-user codes available. The module also looks at visualisation of data.
Aim
To introduce scientific programming with the help of the Python programming language, a language widely used by physicists.
Objectives:
By the end of the module, students should be able to:
- Write python programs
- Formulate and solve simple maths and physics problems involving differential equations, linear algebra and integration, using python
- Use scientific and graphical libraries
- Perform statistical calculations using python
- Implement good software design
- Present results graphically
Syllabus:
A brief introduction to python. Simple maths and physics on the computer. Data/File Input/ Output and control in Python. Loops, conditions and lists.
Functions: Algorithms and software design; tests, error handling and modules
Introduction to Numpy and scipy. Working with vectors and matrices, integration
Graphical representation of the calculation using matplotlib
Basic statistics, probability density distributions, random number generation
Simple data fitting using scipy, physics analysis
Commitment: 5 Lectures + 5 2-hour workshops
Assessment:
Practical assignments
This module has a home page.
Recommended Text:
Python documentation
Scientific Python
H.P. Langtangen, A Primer on scientific programming with Python, Springer e-books (2012):
Leads to: Programming work in later years