CS814 – AI for Autonomous Systems

Credits 20
Level 5
Semester 1
Prerequisites N/A
Availability Mandatory
Contact Lectures: 22 hours | Lab: 20 hours | Tutorial: 10 hours |
Homework / Private Study: 148
Assessment Coursework (50%) and Final Examination (50%).
Resit Resit examination.
Lecturer Dr Joseph El-Gemayel

General Aims

The aim of this class is to endow students with:

  • the ability to program in a suitable high level language for implementing AI algorithms and building AI systems.
  • an understanding of what Artificial Intelligence means in the context of autonomous systems.
  • an understanding of the key algorithms and techniques which can enable autonomous systems to make rational decisions and choose appropriate actions.
  • an exposure to a range of techniques that enable autonomous systems to make rational decisions and choose appropriate actions in a variety of settings.

Learning Outcomes

On completion of the class students will be able to:

  • Program in Python, with the goal being to implement key AI algorithms and build AI systems.
  • Define and understand the problem of Artificial Intelligence as it relates to autonomous systems.
  • Apply search techniques to enable autonomous systems to choose actions that are appropriate to their goals.
  • Apply key techniques to adversarial problems, such as Mini-Max and Monte Carl Tree search.


  1. Introductory Python programming: how to implement AI programs in Python. Algorithm design and testing. Basic Software development and documentation in Python.
  2. How to build systems in Python. Modules, libraries, systems architecture and design, system testing.
  3. What is AI? Foundations, history and related disciplines. The state of the art in modern AI including notable applications and successes.
  4. Intelligent agents: agents and environments, the concept or rationality, the structure of agents, different types of intelligent agent (reactive, deliberative, learning).
  5. Solving problems by searching: formulating problems as a search for a solution, uninformed search algorithms, informed (heuristic) search algorithms, formulating heuristic functions.
  6. Beyond classical search: optimisation problems, local search algorithms, genetic algorithms, local search in continuous spaces, searching under non-determinism and partial observability, online search agents and unknown environments.
  7. Adversarial search: optimal decisions in games, the minimax algorithm, alpha-beta pruning, imperfect real-time decisions, stochastic games, partially observable games, the state of the art in games playing, monte Carlo Tree Search.
  8. Classical planning: definition of classical planning, algorithms for planning as state-space search, planning graphs, other approaches.
  9. Algorithm choice: given an AI problem, which algorithm should I apply?
  10. Hypothesis testing: given an AI problem, which algorithm is giving me the best performance.

Recommended Text/Reading

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