Advanced: End-to-End Machine Learning

This short course will give you the tools to understand the core concepts, methods and technologies that underpin modern Deep Learning using artificial neural networks (ANNs). 

Book now

Image details


Course details

The course introduces you to basic neural networks using the scikit-learn Python package, covering the key concepts, techniques and technologies for training and prediction using multilayer perceptrons and the Keras Python package. 

The course also includes specialised and advanced coverage of modern Deep Learning techniques and tools, based on both the Keras and TensorFlow Python packages. 

You will learn custom neural net models using Tensorflow, deep computer vision using convolutional neural networks, modelling time-series data with recurrent neural networks, and artificial intelligence (AI) generation of images using autoencoders, generative adaptive networks, and diffusion techniques. 

Advanced Python code is supplied and explained for each topic. Your primary learning outcome is the ability to deploy and assess the state-of-the-art technologies that underpin modern AI-based machine learning and data science. 

Who is this course for?

The course is aimed at professionals with a high level of numeracy who are seeking to understand the core concepts, methods and technologies that underpin modern Deep Learning using artificial neural networks (ANNs). 

The topics explain the key methods used to derive predictive models using multilayer perceptrons, convolutional and recurrent neural networks (CNNs and RNNs), and generative AI to produce high-quality new data.  

The ability to perform Deep Learning workflows is a core skill in finance (prediction of future stock values), healthcare (tumour detection in scans), marketing (personalising the user experience), and many other fields. 

Teaching Format

This is a self-paced online learning short course with lecture content, interactive elements, and access to a masterclass with the course leader after completion of the course. 

Course requirements

The course is suitable for advanced Python programmers (including notebooks, packages, data manipulation, design and use of pipelines, model evaluation functions, image pre-processing, ability to understand and work with Keras and Tensorflow documentation). Completion of Intermediate: End-to-End Machine Learning will provide a good basis for completing this short course. 

The focus of the course is the use of released and curated Python machine learning code, rather than implementing algorithms from scratch. 

Coursework consists of the creation of code to solve a specific problem, together with a short report that describes the approach taken and critically evaluates the results. This code can be developed either using learners’ equipment (such as a laptop or PC), or with cloud-based tools such as CoLab and Kaggle Notebooks, or Jupyter notebook. A good internet connection is more important than powerful computational equipment. 

The time commitment for this course is typically six to eight hours per week. 

Funding and scholarships

This course is eligible for funding from the Scottish Funding Council’s University Upskilling Fund. The University of St Andrews is able to offer a limited number of fully-funded Upskilling scholarships. 

To apply for a scholarship, please complete the Upskilling Eligibility Form


On successful completion of this online short course, you will be issued with a Certificate of Completion from the University of St Andrews. 

Course dates

Start date:
Monday 15 January 2024
End date:
Monday 26 February 2024
42 days

Course teachers