ST311      Half Unit
Artificial Intelligence

This information is for the 2021/22 session.

Teacher responsible

Dr Xinghao Qiao


This course is available on the BSc in Actuarial Science and BSc in Mathematics, Statistics and Business. This course is available with permission as an outside option to students on other programmes where regulations permit and to General Course students.


ST102 Elementary Statistical Theory

A computer programming course using Python, e.g. ST101 Programming for Data Science.

Course content

The objective of this course is to introduce students to basic principles of artificial intelligence (AI) systems. By AI, we refer to machines (or computers) that mimic cognitive functions that humans associate with the human mind, such as learning and problem solving. The course will take a practical approach, explaining the main principles and methods used in the design of AI systems.

The course will provide an introduction to main principles of deep learning and reinforcement learning. The topic of deep learning covers basic principles of neural network architectures, optimization methods for training neural networks, and some special deep neural network architectures commonly used for solving AI tasks such as image classification, speech recognition, and neural machine translation. The second part provides an introduction to reinforcement learning problem formulation using the framework of Markov decision processes, elementary solution methods based on tabular approaches and those based on using function approximation for value functions if time allows. Students will gain practical knowledge to learn and evaluate deep learning and reinforcement learning algorithms using Python and open-source software libraries.


The lectures cover fundamental methodological and theoretical principles while computer workshops provide students with an opportunity to gain hands-on-experience by solving exercises using modern and commonly used software libraries such as PyTorch and OpenAI Gym.

This course will be delivered through a combination of classes and lectures totalling a minimum of 35 hours across Lent Term. This year, some of this teaching may be delivered through a combination of classes and flipped-lectures delivered as short online videos.

Students are required to use a Python programming environment, e.g. by installing Anaconda / Jupyter notebooks on their own laptops or using Google Colab, and to use their own laptops in the workshops.

Formative coursework

Students will be expected to produce 5 exercises in the LT.

Indicative reading

1. I. Goodfellow, Y. Bengio and A. Courville, Deep Learning, MIT Press, 2017,

2. R. Sutton and A. C. Barto, Reinforcement Learning: An Introduction, 2nd Edition, MIT Press, 2018

3. A. Zhang, Z. Lipton, M. Li and A. Smola, Dive into Deep Learning, 2020,

4. M. Nielsen, Neural Networks and Deep Learning, 2016, online book.

5. S. Russell and P. Norvig, Artificial Intelligence: A Modern Approach, 3rd Edition, Pearson, 2016

6. OpenAI Gym documentation,


Coursework (30%) in the LT.
Project (70%) in the ST.

Students are required to hand in the solutions to 3 sets of exercises (each accounting for 10% of the final grade).

The project will be a group project with 2 members per group. The detailed instruction will be handed out in Week 10 of Lent term, and students need to submit a written report by Week 1 of Summer term.

Key facts

Department: Statistics

Total students 2020/21: Unavailable

Average class size 2020/21: Unavailable

Capped 2020/21: No

Value: Half Unit

Guidelines for interpreting course guide information

Personal development skills

  • Self-management
  • Problem solving
  • Application of information skills
  • Communication
  • Application of numeracy skills
  • Commercial awareness
  • Specialist skills