Module Information
Course Delivery
Delivery Type | Delivery length / details |
---|---|
Practical | 11 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
Python and the Scientific Python Stack:
• Types, variables, if-statements, for- and while- loops
• Data structures: Lists, dictionaries and NumPy arrays
• Organising Python code:
- Function definition and calling
- Generating documentation (e.g. pydoc)
- Catching and handling exceptions
- Organising code into modules
- Executing main (and __main__)
• Objects and classes:
- Defining classes
- Instantiating an object
- Inheritance
• File handling and CSV format
• Visualising data (plotting) and data manipulation
Semester 2
Techniques for Physics:
• 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
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