• This course unit introduces and motivates agile approaches to the development of software, including agile requirements gathering, agile planning and agile approaches to software development (such as test-driven development).

  • Games have become very successful as a way of modelling the interactions of multiple agents. In this course unit we will look at the formal theory of games, which includes a discussion of what it might to find a solution to a game, and then look at how to program computers to play games, with a particular emphasis of programs that are capable of learning.

    This is a 20 credit course unit that runs for the entire year. Each semester is structured as follows:

    There are 12 lectures in the first six weeks of term to introduce the material, supported by handouts. In the remaining 5 weeks of terms students work, in small groups, on writing a program that implements some of the techniques taught previously. There is one exam in the May/June exam period.

    The lectures are designed to support the handouts and it is expected that students read these both, in preparation for a lecture and again afterwards to ensure they have understood the material, which is quite abstract in places.

    The first lecture will go into more detail regarding organizational issues and students thinking about taking this course unit are strongly encouraged to attend.

  • Due to technological limitations, it is proving increasingly difficult to maintain a continual increase in the performance of individual processors. Therefore, the current trend is to integrate multiple processors on to a single chip and exploit the resulting parallel resources to achieve higher computing power. However, this may require significantly different approaches to both hardware and software particularly for general purpose applications. This course will explore these issues in detail.
  • This course unit covers the principles of modern techniques for Computer Graphics modelling and image synthesis, on the assumption that students have already completed the introductory Computer Graphics course (COMP20072). Its principal aim is to introduce students to the ever-expanding repertoire of techniques for defining and rendering images of 3D model data. Particular attention is focused on the increasing requirements for complex rendering and interaction to occur in real-time.

    Please note that this course area is completely open to everyone in the school.


  • The explosion of mobile computing driven first by the mobile telephone and now also by PDA's and laptop computers using Bluetooth, WiFi and soon WiMAX is changing the way we interact with one another and with machines. But how does wireless networking work? How is it distinct/similar to wired networks?

    The course uses guided self-study so you need to be motivated to learn for yourself. A main book supplemented and enhanced with electronic resources are used.