|Assessment Type||Assessment length / details||Proportion|
|Semester Assessment||Online task, in-class||20%|
|Semester Assessment||Written report, 1500 words||30%|
|Semester Assessment||Online coding test, in-class x 2||30%|
|Semester Assessment||Technique application, in-class||20%|
|Supplementary Assessment||As determined by the Departmental Examination Board||100%|
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.
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) and statistics. Following the introduction, in Semester 2, this module continues to introduce methods for numerical analysis, and modelling. Application of these techniques will be achieved through practical workshops.
• Types and variables in Python
• 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
• Statistics, including:
- Gaussian, Poisson and binomial distributions
- Hypothesis Testing
• Numerical Analysis, including:
- Regression (Linear and Curve Fitting)
- Root Finding
- Fourier analysis
• ODE Solving, including:
- Euler’s and Runge-Kutta Methods
- Application to chaotic systems
|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.|
This module is at CQFW Level 5