Skip to main content Skip to navigation

Artificial Intelligence: A Practical Introduction

Artificial intelligence is set to revolutionise the way that we work, live and interact.

In December 2017, Carnegie Mellon poker playing computer Libratus has stunned the world by winning 1.7M in a 20 days tournament against four poker stars. This was the latest in a series of big wins for AI including DeepBlue beating Gary Kasparov at chess in 1997 and AlphaGo beating Lee Sedol at Go in 2016.

In a nutshell, the challenge for AI agents is to make decisions in an uncertain environment, exploring the potential consequences of their own choices using complex estimates of the world around.

This course is a study of the basic building blocks of decision-making agents, which are abstract entities living in an uncertain environment and are guided towards the realisation of given objectives. On top of this, the environment is usually inhabited by other agents, which may or may not strive to achieve similar objectives. The task is to take the best possible decision that can be taken given the (incomplete) information available.

These simple models are the basis of a number of important achievements in AI, and combine the use of logical, game-theoretic and algorithmic analysis.

The artificial intelligence course was incredibly motivating. Learning from the teachers with other students from across the globe was an absolute pleasure and the classes encouraged me to be passionate about the subject, making me want to learn more.

Patrik Kucera (Czech Republic)

Key Facts

Level: Introductory to intermediate

Fees: Please see fees page

Teaching: 60 hours

Expected independent study: 90 hours

Optional assessment: Dependant on course

Typical credit: 3-4 credits (US) 7.5 ECTS points (EU)*
* Please check with your home institution

For more information on exams and credit, please see our Teaching and assessment page



Teaching Assistant


The course will be an exploration of the basic methodologies for the design of artificial agents in complex environments. The course will first start with classical AI approaches where these agents are goal-oriented and take decisions in a potentially unknown environment.

Then it will move on to more sophisticated models allowing agents to have a representation of the other agents, their potential decisions and their goal, a representation about the representations of other agents, and so forth. This induces complex patterns of strategic reasoning, both in competitive and cooperative interactions, which need to be formally modelled and analysed.

These agent-based systems are built upon three important methodologies: Logic, because of the focus on reasoning, Game-Theory, because of the focus on strategies, and Algorithms, because of the focus on artificial agents.

You will learn the basics of how to program in python and apply this knowledge to studying, and building your own, learning algorithms.

As a coursework challenge, you will bring all of this knowledge together to build your own bot in python that implements strategies to compete against other bots in an auction game.

Topics to be covered include:

  • Agents: definitions, applications
  • Reasoning: logic and agents, knowledge representation, inference mechanisms
  • Decision-making: actions, time and risk
  • Learning: introduction to reinforcement learning
  • Introduction to multi-agent systems: definitions, strategies and knowledge, collective strategies, agent application areas.
  • Multi-agent reasoning: multi-agent epistemic logic, action logics, deliberation, BDI models.
  • Modelling opponents: uncertainty and expectations, multi-agent learning.
  • Competitive models: strategies and equilibria, opponent modelling.
  • Cooperative models: bargaining and negotiation, resource allocation, inter-agent relationships.
  • Open Issues: development methodology, programming languages, standards.
  • Beginner to intermediate python.
  • Learning algorithms in python: regret matching, q-learning, genetic algorithms, collective intelligence.
  • Writing software bots to compete in games with uncertain environments.

The course will be an investigation of the most important developments of AI in multi-agent contexts, touching upon themes such as opponent modelling, games with imperfect information, resource allocation, collective decision-making and electronic commerce applications.

Students will learn the basic methodologies for the design and the analysis of AI in complex systems with many interacting agents, ranging from competitive to cooperative interaction. The course take will be interdisciplinary, touching upon themes that are important for computer science, economics, and philosophy.

By the end of the course the students will learn how to program a strategic agent participating in an auction. During the allocated seminars time students will be receive support on the programming skills required for the task (Python), from scratch.

Course Structure

The format will consist of 4 hours of teaching on most weekdays. This is broken down to include three hours of lectures, followed by one hour of lab exercises, during the theory parts of the module. The programming days will be more hands-on, with a mixture of lectures and exercises throughout the day.

Exercise sheets will be provided, as well as samples of previous exam papers of mine.

Course Assessment

A 2 hour exam (50%)and coursework (50%)

Core texts:

  • Shoham Y. and Leyton-Brown K., Multi-Agent Systems: Logical, Algorithmic and Game Theoretic foundations, Cambridge University Press, 2009.
  • Russell S and Norvig P, Artificial Intelligence: A Modern Approach, 3rd edition, Prentice-Hall, 2014.

Further reading:

  • Shoham Y. and Leyton-Brown K., Essentials of Game Theory: A concise multidisciplinary introduction, Morgan & Claypool, 2008.
  • Maschler M., Solan E. and Zamir S., Game Theory, Cambridge University Press, 2013.
  • Wooldridge M., An Introduction to MultiAgent Systems, 2nd Edition, Wiley, 2009.

Materials will be updated here after each lecture.

Entry Requirements

There are no prerequisites for this course. This course is open to students studying any discipline at University level. We welcome individuals from all backgrounds, including students who are currently studying another subject but who want to broaden their knowledge in another discipline. Students should also meet our standard entry requirements and must be aged 18 or over by the time the Summer School commences and have a good understanding of the English language.

Please note changes to the syllabus and teaching team may be made over the coming months before exact set of topics are finalised.