The module descriptors for this programme can be found below.

Modules shown are for the current academic year and are subject to change depending on your year of entry.

Please note that the curriculum of this programme is currently being reviewed as part of a College-wide process to introduce a standardised modular structure. As a result, the content and assessment structures of this course may change for your year of entry. We therefore recommend that you check this course page before finalising your application and after submitting it as we will aim to update this page as soon as any changes are ratified by the College.

Find out more about the limited circumstances in which we may need to make changes to or in relation to our courses, the type of changes we may make and how we will tell you about changes we have made.

Fundamentals of Scientific Machine Learning

Module aims

This course introduces the most popular Machine Learning and AI algorithms used in the Aerospace research and industry. Building on basic knowledge of MATLAB and Python as well as Linear Algebra, students gain both theoretical and practical understanding of AI models such as Deep Neural Networks or Unsupervised Learning algorithms. Course assignments give students familiarity with programming in TensorFlow Keras and proficiency in designing, training and optimization of their own AI models. 

Learning outcomes

On successfully completing this module you should be able to: 1. appraise a variety of Machine Learning and AI algorithms and match their properties to applications 2. synthesize the principles of design and training of Deep Neural Networks; 3. formulate principles of linear and logistic regression and translate them into algorithms suitable for programming implementation in MATLAB; 4. optimise Neural Networks based on reasoning stemming from theory  5. construct, train and validate a Deep Neural Network for application in solution of engineering problems using the TensorFlow platform; 6. critically discuss limitations of AI and importance of data quality; AHEP Learning Outcomes: SM7M, SM9M, EA6M, EA5m, EA7M, EL8M, EL9M, P9m, G1 

Module syllabus

Introduction to Machine Learning and AI: ML flow, applications in Aeronautics Linear regression: cost and gradient functions, gradient descent, regularisation, feature scaling, vectorisation, learning rate Logistic regression: sigmoid function, logistic regularisation, one-vs.-all, cross-validation, other classification algortihms and optimisers Neural Network: layers, activations, forward and backward propagation, stochastic and mini-batch gradient descent, Deep Learning in MATLAB Introduction to TensorFlow: NN syntax, data import, diagnostic and optimisation tools, validation Deep Learning: Convolutional Neural Networks, transfer learning Unsupervised Learning: K-means, Anomaly detection, autoencoders  Sequential data: Recurrent NN and Long-Short Term Memory networks Efficient model design: data augmentation, map reduce, online learning, text tokenization, sequential data. 

Teaching methods

The module will be delivered in weekly lectures accompanied by online materials and interactive programming notebooks.The instruction of programming will be carried out using live coding during lectures with support provided both during and outside of classes.Each lecture will include a mixture of theoretical material and practical coding. You will be encouraged to interact with in-lecture programming examples and use them to complete weekly assignments. You will be able to test all your assignments before submission. 

Assessments

The module offers extensive opportunities for formative assessment, through both the in-session quizzes and programming excercises. 
Summative assessment will be split between weekly programming assignments and a multiple choice test. 
 
Assessment type Assessment description Weighting Pass mark
Coursework Weekly pass/fail assignments in MATLAB and Python 30% 50%
Examination MCQ test on theory and algorithms 70% 50%

You will be offered opportunities to receive both structured and opportunistic feedback. Through the weekly programming assignments with immediate feedback, you will be able to self-assess your progress and understanding, as well as ask for feedback from the class tutors. 

Written feedback will be provided for your submission for the project and your in-class test submission. 

Further individual feedback is available on request via this module’s online feedback forum and staff office hours.

Module leaders

Professor Luca Magri