G52GRP 2009/10 Projects

Click here for an alphabetical list of students and group allocations.

Project Descriptions and Groups 2009/10

Group ID Supervisor Project Title
gp09-nza Dr. Natasha Alechina Personal Carbon Footprint Calculator
gp09-txa Dr. Thorsten Altenkirch Carcassonne - Online
gp09-jqb Dr. Jaume Bacardit Non-orthogonal Knowledge Representations for Genetics-based Machine Learning
gp09-srb Dr. Steven Bagley Next-generation Video Walls
gp09-sdb Prof. Steven Benford A Democratic Conferencing Tool
gp09-pxb Dr. Peter Blanchfield Games for Language Teaching
gp09-tjb Dr. Tim Brailsford A Game for Teaching Evolutionary Biology
gp09-vxc Dr. Venanzio Capretta The Game of Hackenbush
gp09-axc Dr. Andrew Crabtree Applications and Services for the Networked Home
gp09-jmg Dr. Jon Garibaldi Strategies for Robot Football
gp09-cmg Prof. Chris Greenhalgh RFID Application Development Suite
gp09-jqg Dr. Julie Greensmith Digital Chef: Collaborative Filtering in the Kitchen
gp09-cah Dr. Colin Higgins Software to Support the Accounting Aspects of a Sports Arbitrage System
gp09-gmh Dr. Graham Hutton Bejeweled
gp09-gxk Prof. Graham Kendall Automated Pacman Player
gp09-dsk Dr. David Kirk Office Awareness and Coordination System
gp09-bai Dr. Bai Li Creation of Database of Faces
gp09-drm Prof. Derek McAuley AutoLibrarian
gp09-nhn Dr. Henrik Nilsson Reactive Music
gp09-exo Dr. Ender Ozcan A Visualisation Tool for a Choice Hyper-Heuristic
gp09-ajp Dr. Andrew Parkes Even-For-Ever (E4E): A Tool for Learning Parity Games by Playing
gp09-tpp Dr. Tony Pridmore Image Repository
gp09-qiu Dr. Guoping Qiu Personal Photo Organizer
gp09-mvr Dr. Milena Radenkovic Online Auction Site with Distributed Ranking

Personal Carbon Footprint Calculator

Group ID: gp09-nza

Supervisor: Dr. Natasha Alechina (nza)

Group mailing list: gp09-nza@cs.nott.ac.uk

Group members:

Name CS User ID E-Mail
Belfield, Timothy txb08u psycrtb@nottingham.ac.uk
Jiang, Xin xxj09u psydxj@nottingham.ac.uk
Leigh, Michael James mjl07u mjl07u@cs.nott.ac.uk
Lewis, Daniel James djl08u psycdjl@nottingham.ac.uk
Morton, James David jdm08u psycrjdm@nottingham.ac.uk
Xu, Keting kxx09u psydkx@nottingham.ac.uk


Write a program to run on your mobile phone which calculates how much various travel options cost in terms of carbon emissions (for example, if you need to get to Edinburgh from Nottingham, what are the costs of flying, taking a train or a coach). The program should also allow you to log your travels (and any other relevant information you decide to include) and in the end of each year suggest to you how to reduce your carbon footprint.

Carcassonne - Online

Group ID: gp09-txa

Supervisor: Dr. Thorsten Altenkirch (txa)

Group mailing list: gp09-txa@cs.nott.ac.uk

Group members:

Name CS User ID E-Mail
Amies, Ryan rxa08u psycrra@nottingham.ac.uk
Boucher, James Eliott jeb08u ppybjb1@nottingham.ac.uk
Chi, Bulei bxc09u psydbc@nottingham.ac.uk
Gardner, Christopher Adrian cag08u psycrcg@nottingham.ac.uk
Rose, James jxr07u jxr07u@cs.nott.ac.uk
Xu, Zhan zxx09u psydzx@nottingham.ac.uk


The goal of the project is to develop an interactive, multi-user, networked implementation of the popular board game "Carcassonne". The development should be based on a client-server architecture where the server stores the state of the game, communicates with the client, and acts as a referee. The clients are graphical and provide a convenient interface to execute moves, but also supports trading and communication between players. The implementation should also provide a "lobby" where players can find partners and which keeps track of players ranks.

I suggest to use JAVA (exploiting remote method invocation), but I am open to alternative proposals.

Non-orthogonal Knowledge Representations for Genetics-based Machine Learning

Group ID: gp09-jqb

Supervisor: Dr. Jaume Bacardit (jqb)

Group mailing list: gp09-jqb@cs.nott.ac.uk

Group members:

Name CS User ID E-Mail
Catherall, Richard William rwc08u psycrwc@nottingham.ac.uk
Feng, Yuanlong yxf19u psydyf1@nottingham.ac.uk
Hu, Zhe zxh09u psydzh@nottingham.ac.uk
Larman, Stephen sxl28u psycrsl@nottingham.ac.uk
Stannard, Alexander axs08u psycras@nottingham.ac.uk
Vo, Quang Phu qpv09u psydqpv@nottingham.ac.uk


Genetics-Based Machine Learning (GBML) are very sophisticated, robust and flexible data mining tools based on evolutionary computation. One of the reasons for their flexibility is that they are representation-neutral: they can easily be adapted to use almost any kind of knowledge representation. However, traditionally almost only axis-parallel representations have been used.

The goal of this project is to study the existing oblique and non-linear knowledge representations from the GBML field and implement some of them within the framework of the GAssist and BioHEL GBML systems. This implementation includes two stages. The representation itself, as a part of the machine learning process, and a visualization module, which can show the solutions generated by the learning systems using suitable 2D/3D techniques. For both stages (but specially for the first one) a very efficient implementation is absolutely necessary. This includes a proper design and a profiling study of the representations that can identify the efficiency bottlenecks and alleviate them.

Next-generation Video Walls

Group ID: gp09-srb

Supervisor: Dr. Steven Bagley (srb)

Group mailing list: gp09-srb@cs.nott.ac.uk

Group members:

Name CS User ID E-Mail
Junaid Hussain, Mohammed mxj08u psycrmj@nottingham.ac.uk
Nurse, Amos axn08u psycan@nottingham.ac.uk
Rose, Samuel sxr08u psycrsr@nottingham.ac.uk
Wu, Yimeng yxw18u yxw18u@cs.nott.ac.uk
Yu, Chenchao cxy19u psydcy1@nottingham.ac.uk


The traditional video wall is now common place -- a series of identically-sized displays aligned on a grid to form a larger display which has traditionally displayed an enlarged video picture. The devices are so common that they no longer attract attention.

Modern computer hardware with high-end graphics chips and fast CPUs are capable of far more dynamic and exciting possibilities than the flat regular video wall. What we are beginning to see are examples of people creating video walls with more interesting arrangements of video displays, utilising different sizes and shapes of display, arranged irregularly and at varying angles and possibly even with gaps in between them. See the images here for some examples. Instead of just displaying a simple video, these modern video walls are able to combine many different media types (images, text, video etc.) to form a compelling display.

For this project, you will develop software to drive such a video wall allowing the user to specify the content to be used in the presentation and the software automatically working out how to lay the content onto the display(s). Your software will need to take account of the fact that some content (e.g. images and videos) can happily bleed across displays, while other content may need to be constrained to a single display (e.g. text).

You should try and make use of existing multimedia and layout technologies where appropriate (e.g. SMIL, Flash, AIR etc) extending them as necessary to produce the finished result.

A Democratic Conferencing Tool

Group ID: gp09-sdb

Supervisor: Prof. Steven Benford (sdb)

Group mailing list: gp09-sdb@cs.nott.ac.uk

Group members:

Name CS User ID E-Mail
Golding, Robert James rjg08u psycrrg@nottingham.ac.uk
James, Henry Edward John hej08u psycrhej@nottingham.ac.uk
Lensvelt, Christopher cxl08u psycrkl@nottingham.ac.uk
Redrup, William Robert Philip wrr08u psycwrpr@nottingham.ac.uk
Seo, Tammie Li - Yie tls08u eaybtlys@nottingham.ac.uk
Zhu, Zhongda zxz09u psydzz@nottingham.ac.uk


This project is to design, implement and evaluate a new text conferencing tool that aims to support more democratic participation. Each participant is given a "talk budget" which may be refreshed from time to time. When this runs out they can no longer talk, unless another participant donates some of their remaining budget to them.

Games for Language Teaching

Group ID: gp09-pxb

Supervisor: Dr. Peter Blanchfield (pxb)

Group mailing list: gp09-pxb@cs.nott.ac.uk

Group members:

Name CS User ID E-Mail
Bradshaw, John Clifford jcb18u psycrjb1@nottingham.ac.uk
Jiang, Wenchao wxj09u psydwj@nottingham.ac.uk
Owen, Clifford Yorik cyo08u psycrcyo@nottingham.ac.uk
Paul, Jeremy Joseph Chris jjp08u psycrjp@nottingham.ac.uk
Phillips, Simon Ross srp06u srp06u@cs.nott.ac.uk
Zhang, Xiaodan xxz09u psydxz@nottingham.ac.uk


There is now a British Government requirement that children in the early years of education be taught a modern language. Most schools do not have the resources to cover this and so they have been looking for ways to help them. We have been trying to design a game to teach Spanish to primary school children.

The group will first undertake a domain analysis. You need to work out ways in which a game can teach a language and the sorts of games that will appeal to this age group. Richard Pemberton from the school of Education will provide help in understanding how you teach language. You will also have access to a local primary school for you to do this study.

There are a lot of opportunities to demonstrate creative skills as well as understand more about the software engineering process in the round. There are many possible avenues into the actual software design. Microsoft XNA 3.1 provides a really useful platform for a well designed game but you could also look at using Flash and Silverlight 3, working in C++ or C# with DirectX or OpenGL to do the graphics. You could also use Java -- which you may prefer as you should also know how to program in it. An XNA/C# route would be quicker for most groups.

A Game for Teaching Evolutionary Biology

Group ID: gp09-tjb

Supervisor: Dr. Tim Brailsford (tjb)

Group mailing list: gp09-tjb@cs.nott.ac.uk

Group members:

Name CS User ID E-Mail
Dunn, Paul pxd08u psycrpd@nottingham.ac.uk
Kudresov, Vitalij vxk08u psycvk@nottingham.ac.uk
Lin, Xin xxl09u psydxl1@nottingham.ac.uk
O'Neill, Luke lxo08u evyblo@nottingham.ac.uk
Siber, Hasan hxs08u ezybhs@nottingham.ac.uk


The task is to write a web-based educational game, which will teach certain aspects of evolutionary biology at a secondary school level. The game will consist of a world (i.e. a box that fills most of the browser window), with animals (called Critters) moving around inside it. These animals will sometimes mate (i.e. when they touch there is a chance that they might produce offspring), and will eventually die (i.e. they will disappear from the system). The user will be able to kill the Critters by clicking on them with a mouse. The Critters should move at varying speed, and they should turn often or occasionally and at a sharp or shallow angle. These characteristics are all controlled by genes that are passed from parents to their offspring. As the user plays the game, the Critters should evolve to become more difficult to kill. (This is survival of the fittest the ones that are easiest to catch with a mouse click will be the most likely to die.)

The Game of Hackenbush

Group ID: gp09-vxc

Supervisor: Dr. Venanzio Capretta (vxc)

Group mailing list: gp09-vxc@cs.nott.ac.uk

Group members:

Name CS User ID E-Mail
Cai, Zhengjie zxc09u psydzc@nottingham.ac.uk
Matheou, Eleni exm08u psycem@nottingham.ac.uk
Tasker, Adam James ajt08u psyaajt@nottingham.ac.uk
Yordanov, Dimitar Tomov dty08u psycrdty@nottingham.ac.uk
Yu, Zhanyang zxy09u psydzy@nottingham.ac.uk


Hackenbush is a two-player game played on a picture consisting of nodes and coloured arches. There is a "ground" line on which some nodes may rest; other nodes are connected directly or indirectly to the ground through blue, red, or green edges. At each turn every player can delete an edge. The first player can delete blue or green edges. The second player can delete red or green edges. At every move, all nodes and edges that are not connected to the ground anymore are also deleted. When a player cannot move anymore she loses and the opponent wins.

The project consists of five steps:

  1. Familiarise yourselves with the definition and theory of the game, by studying the literature. The game was introduced in the book: Elwyn R. Berlekamp, John H. Conway, Richard K. Guy, "Winning Ways for Your Mathematical Plays", A D Peters, Second Edition, Volume 1.
  2. Decide in what programming language you are going to implement the game and start by designing the data types that will represent the positions internally.
  3. Program an application that allows users to create a new position for the game by deciding where to put the nodes and drawing the edges. Create a GUI where the user can visually design new positions.
  4. Implement the play of the game. There should be a set of "standard" positions to choose from, or one of the players may decide to create a new position using the application of point 3. The playing should be done on a graphical interface with the possibility of playing over a network.
  5. Program the computer to play the game itself against a human player. It is important first of all that the computer plays correct moves; then try to improve the strength of its strategy using some heuristic algorithms.

Applications and Services for the Networked Home

Group ID: gp09-axc

Supervisor: Dr. Andrew Crabtree (axc)

Group mailing list: gp09-axc@cs.nott.ac.uk

Group members:

Name CS User ID E-Mail
Al Ramadan, Mohammed Sadek msa08u ezybmsa@nottingham.ac.uk
Alkali, Abubakar Mohammed ama09u psydama@nottingham.ac.uk
Du, Wenyuan wxd09u psydwd@nottingham.ac.uk
Iqbal, Azeem axi08u psycrai@nottingham.ac.uk
Sutton, Matthew mxs08u psycrms@nottingham.ac.uk
Swaby, Joseph Paul jps08u psycrjps@nottingham.ac.uk


The home is increasingly the focus of technology development following the widespread uptake of broadband and home network solutions. In 2008, over 65% of UK homes had Internet access, with over 55% of all UK households connecting via broadband, and the trend is increasing. It is accompanied by a shift in service access, consumption patterns, and media usage, and by the proliferation of computational devices, and digital media, in the home. It results in new patterns of interaction and communication in the home and between household members and wider social networks. While much of the emphasis in IT research has focused on the development of the smart home, it has also been recognized that the bulk of the target audience consists of homes which already exist. A key design challenge thus consists of developing services and applications that may be incorporated into existing home environments and patterns of everyday life. For further information, see this page.

Strategies for Robot Football

Group ID: gp09-jmg

Supervisor: Dr. Jon Garibaldi (jmg)

Group mailing list: gp09-jmg@cs.nott.ac.uk

Group members:

Name CS User ID E-Mail
Alotaibi, Fahad Turki F fta08u ezybfta@nottingham.ac.uk
Bingham, Samantha Rebecca srb08u psycsrb@nottingham.ac.uk
Calian, Dan Andrei dxc08u psycdac@nottingham.ac.uk
O'Brien, James Michael jmo08u psycrjmo@nottingham.ac.uk


The Federation of Robot-Soccer Association (FIRA) has a robot football simulator and runs associated competitions. Five-a-side teams of robots compete against each other within this simulation environment, according to a specified set of rules. National and international level competitions are run each year in the FIRA world cup competition. In this project, the group will build upon previous years projects (see here) to develop a robot- team strategy capable of playing a competitive game. A team strategy will be implemented in a simplified version of C++ (which is quite close to Java). Individual robots may be programmed with different behaviours (or roles) using a variety of techniques, ranging from very simple algorithms to complex "intelligent" behaviours. It is envisaged that the group will begin further develop previous strategies to gradually increase the complexity and sophistication of the team, as time allows. At the end of the project, the strategy may be tested on the real robots and may, if of sufficient standard, be entered into the UK championships.

RFID Application Development Suite

Group ID: gp09-cmg

Supervisor: Prof. Chris Greenhalgh (cmg)

Group mailing list: gp09-cmg@cs.nott.ac.uk

Group members:

Name CS User ID E-Mail
Albers, Matthew Anthony Constant maa08u psycrma@nottingham.ac.uk
Cai, Qiuzhen qxc09u psydqc@nottingham.ac.uk
Ho Dac, Dung Viet dvh09u ezybdvh@nottingham.ac.uk
Holliday, Nicholas Guillermo ngh08u psycngh@nottingham.ac.uk
Sassoon, Gil gxs08u psycrgs@nottingham.ac.uk


Each RFID tag contains a unique code number which can be read by a nearby reader. If the tag is attached to, embedded in or carried by some physical object (such as a person) then whenever a known reader observes a particular tag it implies that the associated "object" is at the location of the reader. RFID technology is used in various applications including stock control, access control and interactive installations. It is functionally similar to other "tagging" or labelling technologies such as 1-D and 2-D barcodes.

The aim of this project is to design a file format that can be used to specify simple behaviours of RFID tags, readers and linked devices (for example, the presentation of content "linked" to a tagged physical object when it is placed on a reader), and to design, implement and evaluate three linked applications based on this file format: an authoring tool for creating behaviour files, a simulator which "plays" these files in an interactive simulated environment, and a runtime "player" which also "plays" these files but using the actual RFID hardware and linked devices. All three applications should be usable by a non-programmer (e.g. a graphic designer or a museum curator).

Optional extension activities might include: support for more sophisticated behaviours (e.g. multi-tag interactions, sequences, time-dependence), generalisation to other tagging and sensing technologies, links to formal modelling and verification tools and approaches, another application to review and analyse logs of actual use, links to other display and interaction technologies (e.g. Flash).

Digital Chef: Collaborative Filtering in the Kitchen

Group ID: gp09-jqg

Supervisor: Dr. Julie Greensmith (jqg)

Group mailing list: gp09-jqg@cs.nott.ac.uk

Group members:

Name CS User ID E-Mail
Gairola, Dhruv dxg09u psyddg@nottingham.ac.uk
Head, Christopher cxh08u psycrch@nottingham.ac.uk
Miles, Robert rxm08u psycrm@nottingham.ac.uk
Wesson, Amy Jane ajw08u psycrajw@nottingham.ac.uk
Xu, Chenjue cxx09u psydcx@nottingham.ac.uk


"You arrive home after a long day at work, open the fridge to find ... a single egg, one lonely onion and some almost mouldy cheese ..." The aim of this project is to develop a software kitchen assistant tool. This tool must be able to provide recipes which match a supplied list of available ingredients. This is similar to the recipe search at bbc.co.uk/food, but is not constrained to just three search items. The software should provide a number of matching recipes and rank the suggestions according to how well they match. The recipe database can be online and community maintained and take into account the user's own food preferences. To achieve this collaborative filtering techniques can be used to provide and manage the recommendations. As an additional extra, lists of required items can be created and exported to a mobile phone as a shopping list. In addition there is the potential to link the software to an online supermarket such as tesco.com to calculate the current cost of each created meal.

Software to Support the Accounting Aspects of a Sports Arbitrage System

Group ID: gp09-cah

Supervisor: Dr. Colin Higgins (cah)

Group mailing list: gp09-cah@cs.nott.ac.uk

Group members:

Name CS User ID E-Mail
Bird, Matthew mxb08u psycrmb@nottingham.ac.uk
Luo, Yiyu yxl09u psydyl2@nottingham.ac.uk
McMurtrie, Shauna Marie smm08u psycrsm@nottingham.ac.uk
Vu, Manh Tuong mtv09u psydmtv@nottingham.ac.uk
Wooldrige, Alistair Glen agw08u psycraw@nottingham.ac.uk


Sports Arbitrage Trading is the act of placing bets on all possible outcomes of a sporting event so that you lock in a definite profit at the end of that event. It is a particular case of arbitrage, arising on betting markets due to the markets (bookmakers) different opinions on event outcomes. By placing one bet per outcome with different betting companies, the bettor can make a profit. There are many disadvantages to arbitraging, the main one being how to find them! There are also many sub-systems required in order to make a successful, easy to use system.

While a sports arbitrage system has now been developed, it lacks several of these sub-systems. The one we are concerned with here is the means of dealing with tracking the financial aspects of the system.

This project involves writing the software to provide such a system and will need: additions to the current database, web pages to view and edit data, code to link to the current system (e.g. bet resolution when results are available), pages to display pick lists of potential bet amounts and possibly software to retrieve and process event results. The project will involve some of: SQL, Java, JSP, PHP, XML, HTML, etc.


Group ID: gp09-gmh

Supervisor: Dr. Graham Hutton (gmh)

Group mailing list: gp09-gmh@cs.nott.ac.uk

Group members:

Name CS User ID E-Mail
Braund, James Christopher Edward jcb08u psycrjcb@nottingham.ac.uk
Fang, Zhetong zxf09u psydzf@nottingham.ac.uk
Robinson, Charles Desmond cdr08u psycrcdr@nottingham.ac.uk
Simms, Robert Michael rms08u psycrrs@nottingham.ac.uk
Titmuss, James jxt08u ppybjt@nottingham.ac.uk


Bejeweled is a simple but addictive computer game that was first released in 2001 and has sold more than 25 million copies worldwide. The game is played on a grid filled with different coloured gems, and the basic idea is to swap adjacent gems to form a line of three of more gems of the same colour, which then disappear allowing gems to fall from above to fill in the gaps. The aim of this project is to implement Bejeweled, together with a computer player that uses AI techniques to try and maximize the resulting score.

Automated Pacman Player

Group ID: gp09-gxk

Supervisor: Prof. Graham Kendall (gxk)

Group mailing list: gp09-gxk@cs.nott.ac.uk

Group members:

Name CS User ID E-Mail
Bell, Nathaniel James nxb08u psycrnb@nottingham.ac.uk
Fang, Xinghong xxf09u psydxf@nottingham.ac.uk
Hughes, Rory James rjh08u psycrjh@nottingham.ac.uk
O'Reilly, Edward John Howlett ejo08u psycejho@nottingham.ac.uk
Qiu, Shenghui sxq09u psydsq@nottingham.ac.uk


Your task is to write a computer program that can play the game of Pacman, without human intervention. This is a challenging task and, without some support would, perhaps, be impossible for a second year group project. However, this task has been an ongoing competition for a number of years and there is lots of information/support available, as well as examples as to what can be achieved.

Your starting point should be the web pages of Professor Simon Lucas at the University of Essex, who organises the competition. Therefore, take a look at this web page. This is ESSENTIAL reading and you should study this page (and associated links) before our first meeting. You should also make regular visits to the page as I know that Professor Lucas is planning to update it on a regular basis. Using the information on this web site you should be able to get a system up and running quite quickly and then you have to develop your own algorithms to produce the best automated player that you can.

I would expect you to carry out (at least) the following tasks, with the first two feeding directly into your literature review:

  1. By referencing the competition entries, find out what algorithms appear to have worked well in the past.
  2. Investigate and draw up a set of algorithms that you think could be used as a Pacman Controller. These algorithms might be based on various criteria such as those identified in 1 (above), "Manhattan Distance", "Straight Line Distance", "Trying to eat the ghosts", "Trying to avoid the ghosts", "Trying to eat the fruit", "Maximising the score, whilst minimising your chances of being eaten", etc. There is probably not one good overall strategy and you might consider changing strategies as the game state changes. You might also want to consider how much you plan ahead and how much you just make quick decisions, given that this is a real time game.
  3. As part of the supplied toolkit you are provided with screen capture software (and a window showing you a representation of the captured game state), the game screen itself and a small screen showing the current direction of the Pacman character. As part of this project, I would also like you to develop another GUI element which enables you to select from amongst the algorithms that you have implemented, keeps track of their high score, enables you to choose how "adventurous" the player will be, enables you to mix/match the algorithms etc. Part of the project will be to design this GUI element, deciding what role it should play in the overall software architecture. You can then use this captured information as a basis for the analysis in your final dissertation.
  4. Implement the int move(GameState gs) that is provided in the sample toolkit in order to test out the various game playing algorithms that you have investigated in points 1 and 2 above.

You might want to look at look at the YouTube Video for the competition entry from WCCI 2008 (google "YouTube WCCI pacman"). To give you some indication of the current state of the art, the most recent competition (run in Milan in August 2009), the winning entry achieved a score over 30,000 and reached (from memory) level 5 (it might have been level 4). If you can get anywhere near that you will be doing very well.

Office Awareness and Coordination System

Group ID: gp09-dsk

Supervisor: Dr. David Kirk (dsk)

Group mailing list: gp09-dsk@cs.nott.ac.uk

Group members:

Name CS User ID E-Mail
Li, Muqi mxl09u psydml@nottingham.ac.uk
Mante, Jeffrey jxm08u psycrjm@nottingham.ac.uk
Nyakairu, Ronald rxn08u psycrn@nottingham.ac.uk
Pugh, Robert rxp08u psycrrp1@nottingham.ac.uk
Radbourne, Martin James mjr08u psycrmjr@nottingham.ac.uk


Coordination in the workplace can be a significant problem, especially in environments where individual workers have significant autonomy over their working schedules. Often there can be barriers amongst the workforce to using a shared calendaring system.

In an office environment such as here, in the department of computer science, it is common to see academics and admin staff using their office doors as an ad hoc communication space (with post-its and such like). In this project students will produce a requirements specification for and then implement a computationally-enhanced door space to be used for collaboration and coordination in office environments. Coordination activities that the device might support could include (but are not limited to):

Solutions should be based on observations of real world activities and involve potential users in their development through formative evaluation. Possible technical solutions could involve touch screens, data projectors, mobile-phones (blue-tooth), phidget sensors, and/or RFID. Solutions will require database, interface and networking software development.

Creation of Database of Faces

Group ID: gp09-bai

Supervisor: Dr. Bai Li (bai)

Group mailing list: gp09-bai@cs.nott.ac.uk

Group members:

Name CS User ID E-Mail
Hakimi-Nayeri, Daniel dxh18u psycdh@nottingham.ac.uk
McNeil, Alexander James ajm08u psycrajm@nottingham.ac.uk
Polley, Aaron axp08u psycrap@nottingham.ac.uk
Wu, Danni dxw09u psyddw@nottingham.ac.uk


The aim of this project is to create a 3D facial database for matching and animation. The project will require the use of a 3D scanner, database as well as 3D graphics skills. Once a face is scanned, a point cloud will be generated, which will then be fitted into a b-spline surface suitable for various applications.

An alternative project would be to create a graphical user interface for brain imaging using MRI.

Project to be decided in discussion with the group.


Group ID: gp09-drm

Supervisor: Prof. Derek McAuley (drm)

Group mailing list: gp09-drm@cs.nott.ac.uk

Group members:

Name CS User ID E-Mail
Konturek, Michal Adam mak09u psydmak@nottingham.ac.uk
Poolman, Geoffrey Stewart gsp08u psycrgp@nottingham.ac.uk
Whybrow, Marcus mxw18u psycrmw@nottingham.ac.uk
Yu, Xiaolu xxy09u psydxy@nottingham.ac.uk
Zeng, Wei wxz09u psydwz@nottingham.ac.uk


One very worthwhile mission is to be able to link physical objects to online information about the objects. In general a research problem -- so for this project we consider those most worthy of objects -- books. The aim to to use image segmentation and optical character recognition (OCR) to identify the individual books on a bookshelf, use this to index your office or home bookshelves, while also enhancing the physical "browsing" experience by supplying a mash up of information about each book from various Internet sources (e.g. Google Books). The project can either work with still digital images and focus on precision in the OCR and the backend information gathering or be extended to run live on a camera equipped mobile device.

Reactive Music

Group ID: gp09-nhn

Supervisor: Dr. Henrik Nilsson (nhn)

Group mailing list: gp09-nhn@cs.nott.ac.uk

Group members:

Name CS User ID E-Mail
Du, Heshan hxd09u psydhd@nottingham.ac.uk
Garrison, Wayne wxg08u psycrwg@nottingham.ac.uk
Limbu, Jessica jxl08u psycrjl@nottingham.ac.uk
Petrov, Krasimir Petrov kpp08u psycrkp@nottingham.ac.uk
Seymour, James jxs28u psycjs2@nottingham.ac.uk
Wang, Tingting txw09u psydtw@nottingham.ac.uk


The "Harmonic Table" is a clever way to arrange musical notes on a hexagonal grid. The clever bit is that the various directions correspond to different musically meaningful intervals. Thus, if this layout is used as the basis for a musical keyboard, many runs and chords become quite easy to play, at least compared with playing on a conventional, "piano-style", layout. In particular, note how easy it is to play minor and major triads. Moreover, transposition becomes very easy, as playing in a different key is just a matter of playing a piece at a a different position, in stark contrast to playing in different keys on a conventional keyboard that requires significant changes to the fingering. See Dream Theatre keyboardist Jordan Rudess explain in more depth here, here, and here.

The fact that the layout is a 2-dimensional grid is also interesting in its own right as it opens up new creative possibilities. For example, what happens if one considers this grid to be a cellular automaton, and arrange to have the automaton play the corresponding notes as it evolves?

A variation on this theme is the reacTogon, a "chain reactive performance arpeggiator". As you can see (and hear!), the reacTogon offers a completely new approach to composing music, or maybe more accurately, creating reactive musical performances. And a very immediate, tactile approach to boot!

While it would be fun to play with a real reacTogon, we unfortunately don't have that kind of hardware. So this project is about doing the next best thing: creating a software emulation. And while we are at it, explore, alter, and extend its features.

This may seem very complicated at first, but, if viewed as a kind of cellular automaton, the basic process that governs the behaviour of the reacTogon is actually quite simple. In fact, I believe that fully realizing this is critical to the success of this project. So much so that the very first deliverable, due only a few weeks into the project, is a formal, executable specification of the semantics of at least a basic version of such an automaton, expressed in a suitable high-level language (Haskell). Concretely, this semantics will be a function than maps a configuration of "counters" (better name needed? token processors?) and the state of the automaton to the output (musical notes) at this point in time and the next state of the automaton. (We will discuss this in more detail; if necessary, I'll provide a more detailed written specification for such an automaton.)

This semantics, once sufficiently clear and refined, will then form the starting point for designing and implementing the main application in a language (or languages) of your choice. Key steps:

Finally, you may want to be aware of a couple of somewhat related ideas:

Might provide some additional inspiration? And there are probably other ones.

A Visualisation Tool for a Choice Hyper-Heuristic

Group ID: gp09-exo

Supervisor: Dr. Ender Ozcan (exo)

Group mailing list: gp09-exo@cs.nott.ac.uk

Group members:

Name CS User ID E-Mail
Barton, Thomas txb18u psycrtb1@nottingham.ac.uk
Jenkinson, Ben bxj08u psycrbj@nottingham.ac.uk
Jermstad, Alexander Shevlin asj08u eayaasj@nottingham.ac.uk
Lao, Jingqi jxl29u psydjl@nottingham.ac.uk
Zhang, Chao cxz09u psydcz@nottingham.ac.uk


Hyper-heuristics can be defined as "methodologies to choose heuristics". There is a growing interest in hyper-heuristics as powerful tools in search and optimisation. A randomly generated initial candidate solution is improved iteratively using a set of low level heuristics in a simple choice hyper-heuristic framework. At each iteration, a given solution passes through two successive stages: heuristic selection and acceptance. The heuristic selection mechanism chooses and applies a low level heuristic to a candidate solution producing a new solution. Then, the acceptance strategy decides whether to continue the search process using the new solution or the one at hand. This project involves in designing and implementing a Java applet (or application) that demonstrates how a choice hyper-heuristic works on an optimisation problem that requires binary representation.

Even-For-Ever (E4E): A Tool for Learning Parity Games by Playing

Group ID: gp09-ajp

Supervisor: Dr. Andrew Parkes (ajp)

Group mailing list: gp09-ajp@cs.nott.ac.uk

Group members:

Name CS User ID E-Mail
Elsworth, Darren James dje08u psycrdje@nottingham.ac.uk
Kililis, Nikolaos nxk09u psydnk1@nottingham.ac.uk
Li, He hxl09u psydhl@nottingham.ac.uk
Oleszczynski, Michael mxo08u psycmo@nottingham.ac.uk
Rea, Alexander Michael Harry amr08u pmyaamhr@nottingham.ac.uk
Vara, Vikesh vxv08u psycrvv@nottingham.ac.uk


The parity game is a two player game on an arbitrary (finite) graph. Each node is owned by one of the two players and has an integer "node value". A token is placed on an arbitrary node, and on each round it is moved by the owner of that node to a neighbouring node. The aim of the first player is to devise a strategy such that during an infinite length game the smallest value that is seen an infinite number of times is even. The aim for the second player is to prevent this. Since the graph is finite, the questions about infinite play reduce to questions about the existence of cycles with the property that the smallest node value in the cycle is even. Such games are important in the area of "mu calculus" and are particularly interesting as their computational complexity is still unknown.

The task of the project is to implement an application that can be used to play the game. The tool should be usable to help teach about the concepts and "strategies for creating strategies" through being able to actually play the game. It should be interactive and visually appealing. It should thus be capable of giving a much better and easier explanation of the game than the one above above. It should also be able to automatically play to some reasonable extent, e.g. by incorporating algorithms for the needed cycle detection. Naturally, the implementation should be modular and well-designed, e.g. so that it is practical to extend it to other versions of parity games.

Image Repository

Group ID: gp09-tpp

Supervisor: Dr. Tony Pridmore (tpp)

Group mailing list: gp09-tpp@cs.nott.ac.uk

Group members:

Name CS User ID E-Mail
Dooley, Richard Philip rpd08u psycrrpd@nottingham.ac.uk
Fu, Siyuan sxf09u psydsf@nottingham.ac.uk
Humphries, Robert Michael rmh08u psycrrh@nottingham.ac.uk
Munjoma, Brian bxm08u psycrbm@nottingham.ac.uk
Omotosho, Sadiq Anthony Abiodun sao08u psycrsao@nottingham.ac.uk
Ye, Chaoyu cxy09u psydcy@nottingham.ac.uk


Many large scale scientific projects rely heavily on results obtained from image data. Generation of the images concerned can be an expensive and time-consuming process, it may take months, for example, for a plant biological project to produce the genetic mutants they wish to image. Once acquired, scientific images must be kept, safely but easily accessible, so that results can be verified and new projects can exploit previous experimental work.

The goal of this project is to create an image repository suitable for use in a scientific research project. The repository must store both images and suitable meta data describing their contents, origin, and any processes that may have been applied to them. It must provide both a general browsing facility and easy access to specific images and sets of images. It is likely that the repository will rely on a set of hierarchically organised image tags. It should be possible to associate more than one tag with an image. Strict hierarchies are too constraining.

Tools will also be required to support image tagging, and to allow the tag hierarchy to be viewed, extended and modified. This raises the interesting question is what it should mean to change the hierarchy when there already are tagged images, i.e. how to maintain some kind of consistency. This is a real problem. For example, biologists often invent new terms and then use them to re-interpret the data they already have.

Personal Photo Organizer

Group ID: gp09-qiu

Supervisor: Dr. Guoping Qiu (qiu)

Group mailing list: gp09-qiu@cs.nott.ac.uk

Group members:

Name CS User ID E-Mail
Sharp, Oliver Ross oxs08u psycros@nottingham.ac.uk
Suleman, Waseem wxs08u psycws@nottingham.ac.uk
Yu, Jiasheng jxy09u psydjy@nottingham.ac.uk
Zheng, Jingkai jxz09u psydjz@nottingham.ac.uk


Description: The aim of this project is to develop a tool to manage and organise digital photo collections. The tool should include following features:

  1. Display digital photos
  2. Annotate digital photos with text
  3. Index digital photos with their visual features (content-based indexing)
  4. Organise digital photos into various categories according to their textual descriptions; e.g., Cars, Buildings, etc.
  5. Organise digital photos into various categories according to their visual appearances; e.g., Blue Sky, Green grass, etc.
  6. Search digital photos based on their textual descriptions; e.g., "Find all photos contain cars and buildings"
  7. Search digital photos based on their visual appearance and by visual examples; e.g., "Find all digital photos containing x% red, y% blue and z% green" or "Find all digital photos that look like this one" (content-based image retrieval)
  8. Display search results as thumbnails.
  9. A well designed GUI
  10. The tool can be either a local desk top application or on a web-based application

Online Auction Site with Distributed Ranking

Group ID: gp09-mvr

Supervisor: Dr. Milena Radenkovic (mvr)

Group mailing list: gp09-mvr@cs.nott.ac.uk

Group members:

Name CS User ID E-Mail
Abdul Rais, Fadzeana fxa09u psydfa@nottingham.ac.uk
Balderstone, Michelle Elizabeth meb08u psycrmeb@nottingham.ac.uk
Bhatti, Paramdeep pxb08u psycpb@nottingham.ac.uk
Morgan, Hannah Rachael hrm08u psycrhrm@nottingham.ac.uk
Wadsworth, Benjamin Antony baw08u psycrbaw@nottingham.ac.uk
Zhang, Kai kxz09u psydkz@nottingham.ac.uk


This project aims to design and build an online auction and shopping website in which people and businesses buy and sell a variety of goods. The implementation should support proxy bidding, buyer ranking and seller rankings. The ranking system should be based both on the recommendations by other buyers/sellers and on proxy behavioural monitoring (whether the transactions were actually completed or not).

Students and Group Allocations 2009/10

Name Group
Abdul Rais, Fadzeana gp09-mvr
Al Ramadan, Mohammed Sadek gp09-axc
Albers, Matthew Anthony Constant gp09-cmg
Alkali, Abubakar Mohammed gp09-axc
Alotaibi, Fahad Turki F gp09-jmg
Amies, Ryan gp09-txa
Balderstone, Michelle Elizabeth gp09-mvr
Barton, Thomas gp09-exo
Belfield, Timothy gp09-nza
Bell, Nathaniel James gp09-gxk
Bhatti, Paramdeep gp09-mvr
Bingham, Samantha Rebecca gp09-jmg
Bird, Matthew gp09-cah
Boucher, James Eliott gp09-txa
Bradshaw, John Clifford gp09-pxb
Braund, James Christopher Edward gp09-gmh
Cai, Qiuzhen gp09-cmg
Cai, Zhengjie gp09-vxc
Calian, Dan Andrei gp09-jmg
Catherall, Richard William gp09-jqb
Chi, Bulei gp09-txa
Dooley, Richard Philip gp09-tpp
Du, Heshan gp09-nhn
Du, Wenyuan gp09-axc
Dunn, Paul gp09-tjb
Elsworth, Darren James gp09-ajp
Fang, Xinghong gp09-gxk
Fang, Zhetong gp09-gmh
Feng, Yuanlong gp09-jqb
Fu, Siyuan gp09-tpp
Gairola, Dhruv gp09-jqg
Gardner, Christopher Adrian gp09-txa
Garrison, Wayne gp09-nhn
Golding, Robert James gp09-sdb
Hakimi-Nayeri, Daniel gp09-bai
Head, Christopher gp09-jqg
Ho Dac, Dung Viet gp09-cmg
Holliday, Nicholas Guillermo gp09-cmg
Hu, Zhe gp09-jqb
Hughes, Rory James gp09-gxk
Humphries, Robert Michael gp09-tpp
Iqbal, Azeem gp09-axc
James, Henry Edward John gp09-sdb
Jenkinson, Ben gp09-exo
Jermstad, Alexander Shevlin gp09-exo
Jiang, Wenchao gp09-pxb
Jiang, Xin gp09-nza
Junaid Hussain, Mohammed gp09-srb
Kililis, Nikolaos gp09-ajp
Konturek, Michal Adam gp09-drm
Kudresov, Vitalij gp09-tjb
Lao, Jingqi gp09-exo
Larman, Stephen gp09-jqb
Leigh, Michael James gp09-nza
Lensvelt, Christopher gp09-sdb
Lewis, Daniel James gp09-nza
Li, He gp09-ajp
Li, Muqi gp09-dsk
Limbu, Jessica gp09-nhn
Lin, Xin gp09-tjb
Luo, Yiyu gp09-cah
Mante, Jeffrey gp09-dsk
Matheou, Eleni gp09-vxc
McMurtrie, Shauna Marie gp09-cah
McNeil, Alexander James gp09-bai
Miles, Robert gp09-jqg
Morgan, Hannah Rachael gp09-mvr
Morton, James David gp09-nza
Munjoma, Brian gp09-tpp
Nurse, Amos gp09-srb
Nyakairu, Ronald gp09-dsk
O'Brien, James Michael gp09-jmg
O'Neill, Luke gp09-tjb
O'Reilly, Edward John Howlett gp09-gxk
Oleszczynski, Michael gp09-ajp
Omotosho, Sadiq Anthony Abiodun gp09-tpp
Owen, Clifford Yorik gp09-pxb
Paul, Jeremy Joseph Chris gp09-pxb
Petrov, Krasimir Petrov gp09-nhn
Phillips, Simon Ross gp09-pxb
Polley, Aaron gp09-bai
Poolman, Geoffrey Stewart gp09-drm
Pugh, Robert gp09-dsk
Qiu, Shenghui gp09-gxk
Radbourne, Martin James gp09-dsk
Rea, Alexander Michael Harry gp09-ajp
Redrup, William Robert Philip gp09-sdb
Robinson, Charles Desmond gp09-gmh
Rose, James gp09-txa
Rose, Samuel gp09-srb
Sassoon, Gil gp09-cmg
Seo, Tammie Li - Yie gp09-sdb
Seymour, James gp09-nhn
Sharp, Oliver Ross gp09-qiu
Siber, Hasan gp09-tjb
Simms, Robert Michael gp09-gmh
Stannard, Alexander gp09-jqb
Suleman, Waseem gp09-qiu
Sutton, Matthew gp09-axc
Swaby, Joseph Paul gp09-axc
Tasker, Adam James gp09-vxc
Titmuss, James gp09-gmh
Vara, Vikesh gp09-ajp
Vo, Quang Phu gp09-jqb
Vu, Manh Tuong gp09-cah
Wadsworth, Benjamin Antony gp09-mvr
Wang, Tingting gp09-nhn
Wesson, Amy Jane gp09-jqg
Whybrow, Marcus gp09-drm
Wooldrige, Alistair Glen gp09-cah
Wu, Danni gp09-bai
Wu, Yimeng gp09-srb
Xu, Chenjue gp09-jqg
Xu, Keting gp09-nza
Xu, Zhan gp09-txa
Ye, Chaoyu gp09-tpp
Yordanov, Dimitar Tomov gp09-vxc
Yu, Chenchao gp09-srb
Yu, Jiasheng gp09-qiu
Yu, Xiaolu gp09-drm
Yu, Zhanyang gp09-vxc
Zeng, Wei gp09-drm
Zhang, Chao gp09-exo
Zhang, Kai gp09-mvr
Zhang, Xiaodan gp09-pxb
Zheng, Jingkai gp09-qiu
Zhu, Zhongda gp09-sdb

Last updated Tue May 4 19:20:17 BST 2010.