Software Engineering (3 Years) [BSc]

AI and Games

Unit code: COMP34120
Credit Rating: 20
Unit level: Level 3
Teaching period(s): Full year
Offered by School of Computer Science
Available as a free choice unit?: Y



Additional Requirements

Students who are not from the School of Computer Science must have permission from both Computer Science and their home School to enrol.

Pre-requisites are waived for CM students.


This course is a 50-50 mix of theory and practical development/implementation. The first project is a competition between the students to produce the best bot to play a particular
game. The bots compete against each other in a tournament. The
students seem to enjoy this very much. The second project involves a game in which the students compete against the lecturers in a price-setting game. The students appreciate the industrial relevance of this project.

Learning outcomes

Learning outcomes are detailed on the COMP34120 course unit syllabus page on the School of Computer Science's website for current students.

Employability skills

  • Analytical skills
  • Group/team working
  • Innovation/creativity
  • Project management
  • Oral communication
  • Problem solving
  • Research
  • Other

Assessment methods

  • Written exam - 40%
  • Written assignment (inc essay) - 60%


Semester 1:

The aim of this semester is to answer the following questions.

What is a game? (Definition of game tree, pay-off function, normal form, extensive form.)

How can we describe a game plan? (Definition of strategy, representations of same.)

What does it mean to play a game well? (Definition of best-response strategy, equilibrium point and similar, discussion of the validity of these concepts, discussion of alternatives.)

How do we find good game plans? (Complexity of finding equilibrium points, minimax algorithm, alpha-beta pruning, discussion of the components of a typical game playing program via evaluation function and alpha-beta search).

What are some of the processes that can be modelled using games?

Semester 2:

The aim of this semester is to understand the following topics.

What are Stackelberg (Leader-Follower) games? What constitutes a solution to a Stackelberg game? How can learning and optimization be used to learn good solutions? Applications to price setting and marketing will be discussed.

What is reinforcement learning and how is it applied to on-line learning? What are the important mechanisms of on-line learning? How can reinforcement learning be applied to games situations?

Recommended reading

COMP34120 reading list can be found on the School of Computer Science website for current students.

Feedback methods

Feedback is provided is several ways. Half of the course involves
group projects which take place in a drop-in lab where the students
can work, and get feedback on what they are doing. For each project,
each group must make a presentation, and feedback is provided
verbally. In addition, written feedback is provided.

Study hours

  • Assessment written exam - 2 hours
  • Lectures - 24 hours
  • Practical classes & workshops - 26 hours
  • Independent study hours - 148 hours

Teaching staff

Jonathan Shapiro - Unit coordinator

▲ Up to the top