Module overview
The primary goal is to provide students with necessary programming background andmathematical skills that are necessary for their degree course and developing further skills in machine learning and artificial intelligence. The emphasis throughout will be on developing insight, understanding and practical skills as well as a solid mathematical background.
Aims and Objectives
Learning Outcomes
Knowledge and Understanding
Having successfully completed this module, you will be able to demonstrate knowledge and understanding of:
- mathematics required for the description of the physical world
- principles and implementation of machine learning techniques and artificial intelligence
- general principles of coding in Python and other languages and applications in Physics
Subject Specific Intellectual and Research Skills
Having successfully completed this module you will be able to:
- program and use computers to assist in the solution of physical problems
- apply machine learning techniques and artificial intelligence to a wide variety of physical problems
- interpret data using statistical techniques and make decisions taking into account experimental errors
Syllabus
Ethical use of data
Algorithms and Analysis
Data, lists
Numpy
Multidimensional Array
Version control
Virtual Machines
Imperative programming
Vectors and Maps
Operations on sets: union, sum, intersection and complement
Pairs tuples, cartesian products, power sets
Relations, equivalence relations, partial orders
Functions: injections, surjections, bijections
Probability and Statistics
Introduction to probability: elementary probability formulae, discrete and continuous probability distributions
Introduction to statistics: sampling, confidence intervals, hypothesis testing, regression.
Lagrange multipliers. Numeric vs symbolic processing for solving ordinary differential equations
Learning and Teaching
Teaching and learning methods
The aim of this module is to give students practical skills, so the teaching and learning methods used are designed to accomplish this. Formal lectures will be used primarily to introduce key ideas and concepts, but even these will be illustrated with extensive practical/computational examples and visualisations. Much of the teaching will take place during extended "practical" sessions, during which students will be expected to carry out programming tasks that are related to -- and illustrative of -- the concepts that are being explored in the module at that time. Ideally, the formal lecture content will take place immediately before or during these sessions, so that new theoretical concepts being introduced can immediately be explored in practice by students. Teaching support in the form of multiple demonstrators will be available during all sessions, so that one-on-one help is available as needed. Additional learning is expected to take place independently, again mostly in the form of practical programming.
Type | Hours |
---|---|
Completion of assessment task | 110 |
Wider reading or practice | 40 |
Total study time | 150 |
Assessment
Summative
This is how we’ll formally assess what you have learned in this module.
Method | Percentage contribution |
---|---|
Continuous Assessment | 30% |
Final Exam | 50% |
Computing exercise | 20% |