The course information as follows may be subject to change, either during the session because of unforeseen circumstances, or following review of the course at the end of the session. Questions about the course should be directed to the course instructor.


Course Title

Artificial Intelligence and Machine Learning

ECTS Credits


Teaching Language


Instructor(s), Affiliation

To be confirmed

Delivery Method




Independent Study Hours








Pre-requisites or Other Academic Requirements

1.1 Mathematics

Students should develop some skills and familiarity with the mathematical topics below before the course starts.

Mathematical Topics

• Matrices

- What a matrix is: Matrix representation of data-sets

- Matrix operations: Addition (+), Subtraction (-), Multiplication (.), Transpose (T)

- The link between algebra and matrices: Expressing systems of algebraic equations in matrix form

• Probability

- What is a ‘probability’?

- Different views of what a probability represents: Bayesian Vs. Frequentist view

- Operations on probabilities:’ AND’ and ‘OR’

- Definitions: ‘Statistical distribution’, ‘Sample Space’, ‘Random Variable’

- Discreet Vs. Continuous Random Variables and the relationship between them

- Expectation: Definition and use in valuing options

1.2 The course programming language is Python

Python Programming Language

Intermediately skilled at Python before starting the course


Course Overview

This course is virtually unique in providing not only an introduction to the technology of ML/AI but also a solid introduction to the Ethical, Economic, Social and Sustainability issues that underpin and shape its use. An understanding of these issues is crucial to the fair and equitable application of these powerful technologies. These issues provide a strong indicator towards potential risks and to significant human value. The course tutors strongly believe that nobody should work in this domain without fully understanding the broader implications of the work that is being done.

The technology component of the course introduces techniques for automatically organising and categorising information; building models that replicate human decision making and for complex recognition tasks. Participants will learn how to prepare and manipulate data to remove errors and omissions in data and enable model building. The course will provide powerful methods for data visualisations that enable human insight and decision-making.

Learning Outcomes

1. Understand the importance of AI in the modern world

2. Be able to identify and understand applications of AI

3. Be able to understand the principles of AI

4. Be able to use basic methods for data visualisations that enable human insight and decision making

5. Be able to know how to prepare and manipulate data to remove errors and omissions in data and enable model building

6. Broadly understand and apply principles of machine learning

7. To have some understanding of the ethical, moral and social implications of the use of AI

8. To have some skill in using a commonly used computer language used in the field of AI (Python) and in a commonly used programming environment used in AI, Machine Learning and Data-science (Jupyter Notebooks)

9. To be able to apply machine learning libraries to solve common problems in both supervised and un-supervised Machine Learning

10. To have an introductory appreciation of more advanced tools of AI – specifically ‘Deep Learning’ (Neural networks) and Reinforcement Learning

Textbook and Supplementary Readings


Aurélien Géron. Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow, 2nd Edition. O'Reilly Media, Inc., 2019.


The final assignment is a programming project, 100% of the final grade.

Grading System

Letter Grading