Module Information

Module Identifier
PH26600
Module Title
Numerical Techniques for Physicists
Academic Year
2019/2020
Co-ordinator
Semester
Semester 1 (Taught over 2 semesters)
Mutually Exclusive
Mutually Exclusive
Mutually Exclusive
Pre-Requisite
MP10610 or MT10610 (OR MA10610)
Pre-Requisite
Other Staff

Course Delivery

Delivery Type Delivery length / details
Practical 22 x 3 Hour Practicals
 

Assessment

Assessment Type Assessment length / details Proportion
Semester Assessment Online coding test, in-class x 2  30%
Semester Assessment Online task,  in-class  20%
Semester Assessment Technique application, in-class  20%
Semester Assessment Written report,  1500 words  30%
Supplementary Assessment As determined by the Departmental Examination Board  100%

Learning Outcomes

On successful completion of this module students should be able to:

1. Construct small programs and visualisations in Python, with an awareness of good practice in developing code.
2. Recognise when binomial, Poisson, uniform, or Gaussian distribution describes data, and calculate their mean, standard deviation, and other expectation values.
3. Develop computer programs for various techniques for scientific computing and analysis.
4. Inspect a range of numerical methods.
5. Examine and numerically solve problems described by Ordinary Differential Equations.

Brief description

There are numerous mathematical problems that are either impractical or impossible to solve analytically and must instead be solved by computers using numerical techniques. Mathematical techniques are essential to Physics and, therefore, so are such numerical techniques. In Semester 1 this module introduces Python in the broader context of the Scientific Python Stack (Scientific Libraries/Extensions to the core Python language). Following the introduction, in Semester 2, this module continues to introduce methods for numerical analysis, modelling and statistics. Application of these techniques will be achieved through practical workshops.

Content

Semester 1

Python:
• Types and variables
• Data structures: Lists, dictionaries and NumPy arrays
• Control Statements and Blocks: If-statements, for- and while-loop
• Organising Python code:

- Function definition and calling
- Catching and handling exceptions
- Organising code into modules

• File handling and data formats
• Visualising data (plotting) and data manipulation
• Numerical Analysis, including:

Regression (Linear and Curve Fitting)

Semester 2

Techniques for Physics:

• Statistics, including:

- Gaussian, Poisson and binomial distributions
- Hypothesis Testing

• Numerical Analysis, including:

- Integration
- Root Finding
- Interpolation
- Fourier analysis

• ODE Solving, including:

- Euler’s and Runge-Kutta Methods
- Application to chaotic systems

Module Skills

Skills Type Skills details
Application of Number The application of number is required throughout the module.
Communication Written Report, Documenting Code.
Improving own Learning and Performance From feedback (automatic, through computer, and in-practical feedback from demonstrators and staff).
Information Technology Application of IT skills are central throughout the module.
Personal Development and Career planning No, though skills taught are in high demand from employers.
Problem solving Problem solving skills are required and developed throughout the module.
Research skills Using a computer. Searching the language and library documentation.
Subject Specific Skills Programming, debugging, statistical, data analysis and modelling skills.

Notes

This module is at CQFW Level 5