G52GRP 2012/13 Projects

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

Project Descriptions and Groups 2012/13

Group ID Supervisor Project Title
gp12-nza Dr Natasha Alechina Team Play
gp12-jaa Dr Jason Atkin Networked Board and Card Game Emulator — Without Automation
gp12-jqb Dr Jaume Bacardit Visualisation of Rule-based Data Mining
gp12-rcb Prof. Roland Backhouse Rate your Ride
gp12-srb Dr Steven Bagley Networked Dutch Blitz/Ligretto
gp12-abb Dr Andrzej Bargiela Module Selection Tool for Exchange Students
gp12-axc Dr Andrew Crabtree WebPAS: Web-based Peer Assessment System
gp12-mdf Dr Martin Flintham Collaborative Media Capture
gp12-jmg Prof. Jonathan Garibaldi R Fuzzy Toolbox Development
gp12-jqg Dr Julie Greensmith The Digital Chef: Recipes On the Move
gp12-gmh Prof. Graham Hutton Qwirkle
gp12-jds Dr Dario Landa Silva A Puzzle Game for the Orienteering Problem
gp12-bsl Dr Brian Logan Braitenberg's Vehicles
gp12-mwm Dr Mohammad Mesgarpour Multi-skill Project Portfolio Scheduling
gp12-rmm Dr Richard Mortier PCAP Visualisation
gp12-nhn1 Dr Henrik Nilsson Chinese Checkers
gp12-nhn2 Dr Henrik Nilsson Reactive Music
gp12-exo Dr Ender Ozcan An Intelligent User Interface for Recognising Free-hand Graph Drawings
gp12-ajp Dr Andrew Parkes The Light-Right App
gp12-rxq Dr Rong Qu Advanced Portfolio Management
gp12-mvr1 Dr Milena Radenkovic Flight Booking Mobile Application
gp12-mvr2 Dr Milena Radenkovic Mobile Auction System
gp12-mvr3 Dr Milena Radenkovic Monitoring and Reporting Road Congestion
gp12-pos Dr Peer-Olaf Siebers Development of a Greenhouse Appliances Control System
gp12-cxw Dr Christian Wagner Behaviour Based Robotics — from Simulation to the Real World
gp12-mlw Dr Max Wilson Serendipty Browser

Team Play

Group ID: gp12-nza

Supervisor: Dr Natasha Alechina (nza)

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

Group project site: https://code.cs.nott.ac.uk/p/gp12-nza

Group members:

Name CS User ID E-Mail
Alidin, Erny Willya ewa01u psyewa@nottingham.ac.uk
Barrett, George Phillip gpb01u psygpb@nottingham.ac.uk
Cheo, Kar Lok klc02u psyklch@nottingham.ac.uk
Smith, Andrew Thomas ats01u psyatsm@nottingham.ac.uk
Wojcik, Jakub jxw01u psyjw4@nottingham.ac.uk
Yan, Mingyang mxy02u psymy3@nottingham.ac.uk


The project involves implementing a one player version of the game Battle City where the player has to defend his base from enemy tanks. The main emphasis of the project is on implementing intelligent team play by the enemy tanks (acting as decoys, joint attacks etc.). You are encouraged to look into current AI state of the art techniques for implementing the team play. Some references will be provided at the first project meeting. You are free to change the appearance of the game and replace the tanks with anything else which can act aggressively as a team.

Networked Board and Card Game Emulator — Without Automation

Group ID: gp12-jaa

Supervisor: Dr Jason Atkin (jaa)

Group mailing list: gp12-jaa@cs.nott.ac.uk

Group project site: https://code.cs.nott.ac.uk/p/gp12-jaa

Group members:

Name CS User ID E-Mail
Abdullah, Mohamed mxa01u psyma6@nottingham.ac.uk
Bratby, Nathan nxb01u psynb1@nottingham.ac.uk
Htike, Hein Min hmh02u psyhmh@nottingham.ac.uk


The aim of this project is to develop a program which will allow multiple human players to play board and card games together remotely. It will basically emulate the board(s), cards, dice, counters (to track values) etc., without actually automating things (other than simple standard things like shuffling the cards, rolling the dice, and following simple rules about when to make cards visible to other people). In general, whatever you would do manually in the board/card game you will also do manually in this program — such as dragging pieces around, working out who won a “hand”, working out scores, etc.

A number of standard, customisable and re-usable components should be defined (such as cards, decks of cards, tokens, boards/background images, counters, etc) and people will be able to use these to create their own games, applying their own images.

A key requirement is that it be easy for somebody to implement their own game within this framework without any coding; e.g., by specifying data file contents and providing images to use. It should be tested on a number of different games, such as Whist (cards), Scrabble (board game) and Risk (board game with dice and pieces).

The program will track what has happening in the game (i.e., what positions is each piece at), provide good seamless networking, saving, loading, replay facilities, etc, and provide individual views of a shared playing area (so players can move their view around, zoom in or out, etc.). A more detailed description will be made available when the project starts.

Visualisation of Rule-based Data Mining

Group ID: gp12-jqb

Supervisor: Dr Jaume Bacardit (jqb)

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

Group project site: https://code.cs.nott.ac.uk/p/gp12-jqb

Group members:

Name CS User ID E-Mail
Casserly, Ross rxc11u psyrc1@nottingham.ac.uk
Duncan, Thomas James tjd01u psytd@nottingham.ac.uk
Edwards, Alexander William Joseph Howell awe01u psyae@nottingham.ac.uk
Phillips, Matthew mxp11u psymp@nottingham.ac.uk
Phillips-Hemming, Zachary zxp01u psyzp@nottingham.ac.uk
Yao, Zhe zxy02u psyzy1@nottingham.ac.uk


Data mining and knowledge discovery are crucial techniques for the progress of many disciplines of science. Recent developments such as the Genome Project (and its successors) or the construction of the Large Hadron Collider have provided the scientific community with vast amounts of data. This data has to be mined to generate accurate models and, equally important, the models need to be understandable so they can bring new insight into the data domain. That is, discovering new knowledge. In this context, rule-based data mining has a clear advantage, as rules have a much higher explanatory power when compared to other kinds of knowledge representation.

The aim of this project is to build visualisation techniques that can help represent and understand both the process of learning and the final product (rule sets) of rule-based evolutionary learning algorithms. For both types of visualisation the system needs to be designed for scalability: it should be able to represent solutions for complex and large-scale problems and do that efficiently. A variety of visualisation techniques (networks, heatmaps, etc.) should be implemented.

Rate your Ride

Group ID: gp12-rcb

Supervisor: Prof. Roland Backhouse (rcb)

Group mailing list: gp12-rcb@cs.nott.ac.uk

Group project site: https://code.cs.nott.ac.uk/p/gp12-rcb

Group members:

Name CS User ID E-Mail
Furber, Simon sxf01u psysf3@nottingham.ac.uk
Hoban, Colum Tomas cth01u psych1@nottingham.ac.uk
Hoyes, Lee lxh11u psylh@nottingham.ac.uk
Li, Xiaolin xxl02u psyxl7@nottingham.ac.uk
Rana, Aakash axr01u psyar1@nottingham.ac.uk
Zhang, Chen cxz02u psycz2@nottingham.ac.uk


Develop a mobile phone app to allow cyclists to rate cycling routes as they ride. This involves creating a "crowd base" (a database maintained by the community) containing information such as hazardous junctions (and how to avoid them), roadworks, volume of traffic, quality of cycle paths, etc. The focus should be on routes used by UoN students. Anyone should be able to consult the crowd base but only registered users should be allowed to update it.

Maryland (in the US) has a similar app for rating public transport, and such an app for cyclists is about to go live in Brussels and Gent. It is not required that this project focus on cycling: walking routes can also be included.

Networked Dutch Blitz/Ligretto

Group ID: gp12-srb

Supervisor: Dr Steven Bagley (srb)

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

Group project site: https://code.cs.nott.ac.uk/p/gp12-srb

Group members:

Name CS User ID E-Mail
Fox, Joshua Clifford jcf11u psyjf@nottingham.ac.uk
Olushola, Taiwo Oluwabunmi too01u psyto@nottingham.ac.uk
Sugar, Carwyn Kristian cks01u psycks@nottingham.ac.uk
Yiannatsos, Konstantinos kxy01u psyky@nottingham.ac.uk
Zhang, Xin xxz02u psyxz3@nottingham.ac.uk


In this group project, you will create a networked multi-player version of the card-based game Dutch Blitz/Ligretto (virtually identical games). The rules for the game can be found online here.

While the rules of the game are simple, the implementation is likely to be tricky since it inherently involves concurrency and speed (who gets their card onto the table first) which you will need to take into account (the latency of the network connection might mean that the packets arrive from the second player to reach a pile before the first).

Good luck, and let the games begin...

Module Selection Tool for Exchange Students

Group ID: gp12-abb

Supervisor: Dr Andrzej Bargiela (abb)

Group mailing list: gp12-abb@cs.nott.ac.uk

Group project site: https://code.cs.nott.ac.uk/p/gp12-abb

Group members:

Name CS User ID E-Mail
Beckles, Kyle kxb01u psykb1@nottingham.ac.uk
Li, Yanan yxl02u psyyl2@nottingham.ac.uk
Niemandt, Melanie mxn01u psymn@nottingham.ac.uk
Patel, Mehul mxp21u paymp1@nottingham.ac.uk
Williams, Samuel sxw01u psysw@nottingham.ac.uk
Zhang, Diwen dxz02u psydz1@nottingham.ac.uk


Selection of modules can be a difficult task for all students but for the exchange students this task can be particularly daunting because of the lack of background knowledge about the various constraints. This project will address the challenge of module selection head-on by capturing both the module interdependencies and the course progression guidelines. The system should provide an appropriate and intuitive interface to ensure that there is no need for user manuals.

The factors that will be considered by the system should include:

WebPAS: Web-based Peer Assessment System

Group ID: gp12-axc

Supervisor: Dr Andrew Crabtree (axc)

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

Group project site: https://code.cs.nott.ac.uk/p/gp12-axc

Group members:

Name CS User ID E-Mail
Chapman, Ryan rxc01u psyrc2@nottingham.ac.uk
Dunford, Thomas txd01u psytd2@nottingham.ac.uk
Morris, Daniel dxm01u psydm@nottingham.ac.uk
Tamizian, Raffi Haig rht01u psyrt2@nottingham.ac.uk
Yeomans, Benjamin Michael bmy01u psyby1@nottingham.ac.uk
Zhou, Xiaotian xxz12u psyxz2@nottingham.ac.uk


The aim of this group project is to develop a web-based peer assessment system that provides the following support:

  1. The module convenor can create groups composed of individual students
  2. Individual students can submit peer assessments of other group members
  3. The module convenor can enter a group mark and automatically derive an individual mark based on peer assessments
  4. The module convenor can change the weighting factors to derive a different set of marks.

More detailed requirements are avilable here.

Collaborative Media Capture

Group ID: gp12-mdf

Supervisor: Dr Martin Flintham (mdf)

Group mailing list: gp12-mdf@cs.nott.ac.uk

Group project site: https://code.cs.nott.ac.uk/p/gp12-mdf

Group members:

Name CS User ID E-Mail
Clay, Ryan Kenneth rkc01u psyrkc@nottingham.ac.uk
Dobson, Rory Jack rjd01u psyrd@nottingham.ac.uk
Fountain, Steven sxf11u psysf1@nottingham.ac.uk
Nicholl, Marvin James mjn01u psymn1@nottingham.ac.uk
Spacagna, Lee lxs01u psyls@nottingham.ac.uk
Zhou, Yutong yxz12u psyyz8@nottingham.ac.uk


This project will develop a collaborative media capturing application to be used on mobile devices.

Crowds of spectators at any given event capture photos and video on their mobile phones to share on Facebook, Youtube. From gigs, festivals, sports events to political disturbances. While social sharing of this media is common place, this project will examine social capture, where a group of people collaborate and coordinate in order to capture an event in the most detail. For example, users could be informed that someone nearby is currently capturing video, and that they should collaborate in order to save network bandwidth or battery life. Alternatively, users could be encouraged to contribute a different camera angle or perspective.

This project consists of building a system to support this ad-hoc, anonymous collaboration, and will include developing a mobile phone application and supporting web service. The mobile phone application will need to support media capture and upload, and discovery and interaction with other devices around it, using either bluetooth or WiFi.

R Fuzzy Toolbox Development

Group ID: gp12-jmg

Supervisor: Prof. Jonathan Garibaldi (jmg)

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

Group project site: https://code.cs.nott.ac.uk/p/gp12-jmg

Group members:

Name CS User ID E-Mail
Bradley, Benjamin bxb01u psybb1@nottingham.ac.uk
Hovell, Luke lxh01u psylh1@nottingham.ac.uk
Karimian, Nathan Darius ndk01u psynk@nottingham.ac.uk
Knott, Craig cxk01u psyck@nottingham.ac.uk
Tretyakov, George gxt01u psygt@nottingham.ac.uk


As part of the research carried out by the Intelligent Modelling and Analysis (IMA) group, a toolbox for creating, manipulating and reasoning with fuzzy sets has been implemented in the open-source R Programming environment (see http://www.r-project.org). While some core functionality has been provided and the toolbox has been provisionally released viw the web (see http://www.cs.nott.ac.uk/~jmg/fuzzy.r), there is work which needs to be done before the toolbox can been “officially” released as an R Package (e.g. see http://www.stats.bris.ac.uk/R).

The aim of this project is to supplement the existing functionality with some additional features to acheive a minimum core functionality to be publically released. This includes non-trivial re-engineering of existing code and adding some new functions (all in R), as well as design and implementation of a compelling, user-friendly GUI from scratch (e.g. in Java) to complement the existing command- line interface. If successful, there is also scope for further extending the project by implementing additional (specialised) fuzzy functionality (also in a language like Java). Finally, there is a need to document both existing and new code, and to provide user manuals.

The Digital Chef: Recipes On the Move

Group ID: gp12-jqg

Supervisor: Dr Julie Greensmith (jqg)

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

Group project site: https://code.cs.nott.ac.uk/p/gp12-jqg

Group members:

Name CS User ID E-Mail
Chen, Shaoqing sxc02u psysc3@nottingham.ac.uk
Harper-Pittam, George gxh01u psygh1@nottingham.ac.uk
Nash, Joe Daniel jdn01u psyjdn@nottingham.ac.uk
Netchaev, Alan axn11u psyan1@nottingham.ac.uk
Whiteman, Jordan Christian Gage jcw01u psyjcw@nottingham.ac.uk
Wright-Dodds, John jxw11u psyjw5@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 be able to store recipes uploaded by users, and provide recipe ratings. In addition, shopping lists of ingredients should be exported to an external smart phone application. As an extension a mobile version of the site should be created so users can create and save their shopping lists on the go. This is the ultimate kitchen management tool, useful for aspiring Heston Blumenthals everywhere, anywhere.


Group ID: gp12-gmh

Supervisor: Prof. Graham Hutton (gmh)

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

Group project site: https://code.cs.nott.ac.uk/p/gp12-gmh

Group members:

Name CS User ID E-Mail
Broadhead, Hayden Yaneeve hyb01u psyhb@nottingham.ac.uk
Cheng, Zixuan zxc02u psyzc1@nottingham.ac.uk
Cojocaru, Octavian-Laurentiu oxc01u psyoc@nottingham.ac.uk
O'Reilly, Daniel dxo01u psydo@nottingham.ac.uk
Stone, Sam sxs11u plyss1@nottingham.ac.uk


Description: Qwirkle is a simple but addictive tile-based game for 2-4 players, in which the aim is to make lines of tiles that are all of the same colour or of the same shape. In 2011 it won the German "Spiel des Jahres" (Game of the Year) award, the most prestigious award in the board gaming industry. The aim of this project is to implement Qwirkle, together with a computer player that is able to suggest hints and also taken on the role of one of the players.

A Puzzle Game for the Orienteering Problem

Group ID: gp12-jds

Supervisor: Dr Dario Landa Silva (jds)

Group mailing list: gp12-jds@cs.nott.ac.uk

Group project site: https://code.cs.nott.ac.uk/p/gp12-jds

Group members:

Name CS User ID E-Mail
Barford, Conor Michael cmb01u psycmb@nottingham.ac.uk
Clarke, Bailey Daniel Thurston bdc01u psybc@nottingham.ac.uk
Don Ranasinghe, Gishan gxd01u psygd@nottingham.ac.uk
Gong, Keyu kxg02u psykg1@nottingham.ac.uk
Key, James Paul jpk01u psyjpk@nottingham.ac.uk
Loaiza Apolo, Jorge Rodrigo jrl01u psyjrl@nottingham.ac.uk


The purpose of this project is to develop a computer puzzle game for solving instances of the orienteering problem. The game could be developed for a mobile device (preferable) or for a “standard” computer.

The problem is that of constructing tours to visit a set of locations. There is a limited budget to be spent in visiting the locations so it might be that not all locations can be visited in a tour. Visiting each location results on some score being awarded and there might be a time-window in which a particular location can be visited only. The aim of the game is to create a tour within the limited budget, that meets the time-windows and that maximizes the total score. The computer game should display a grid or a map with the locations and then allow the user to draw the tour while displaying elapsed time, budget available, collected score, etc. Determining the best tour is a logistics optimization problem that can be solved with search and optimization techniques. The solution given by the user should be compared to the optimal solution which will be computed by the program using an appropriate algorithm.

There is scope to expand the game for example by having different levels of difficulty, but it is very important that the software is appealing and engaging.

Braitenberg's Vehicles

Group ID: gp12-bsl

Supervisor: Dr Brian Logan (bsl)

Group mailing list: gp12-bsl@cs.nott.ac.uk

Group project site: https://code.cs.nott.ac.uk/p/gp12-bsl

Group members:

Name CS User ID E-Mail
Coward, Michael mxc01u psymc@nottingham.ac.uk
Dobson, Simon sxd01u psysd3@nottingham.ac.uk
Li, Boyu bxl02u psybl2@nottingham.ac.uk
Omidiora, Adedotun axo00u psyao@nottingham.ac.uk
Ross, Benjamin James bjr01u psybjro@nottingham.ac.uk
Weisselberg, Roy rxw01u eayrw@nottingham.ac.uk


In his book, “Vehicles: Experiments in Synthetic Psychology”, Valentino Braitenberg explores a series of thought experiments designed to show how complex behaviour can result from very simple reactive agent architectures. Braitenberg's vehicles use direct, excitatory and inhibitory couplings of sensors to motors: sensors respond to features in the environment, e.g., heat, light, obstacles etc.; motors move the vehicle in response to signals from the sensors; connections carry signals from the sensors to the motors and either cause them to turn or inhibit them from turning. Although they are very simple, such vehicles can give rise to complex emergent behaviour through interaction with other vehicles and their environment. In his book, Braitenberg describes a range of vehicles, including those (he) imagined to exhibit “cowardice”, “aggression”, even “love”.

The aim of this project is to implement a Braitenberg Vehicles simulator, which could be used to explore new kinds of vehicle, and for teaching the principles of reactive agent architectures. Ideally, this would be a graphical applet that allows a user to configure and execute a number of vehicles of different sorts to see how they interact. See the Braitenberg Vehicles simulator from Kovan University for an example. The user should be able to save vehicle designs, and to to record experiments for future playback. Critically, the vehicles should be “aware” of each other and interact with objects in their environment, such as obstacles (which the Kovan applet doesn't do). The project could be extended in a number of different ways, e.g., to allow the user to steer one of the vehicles, or by adding realistic physics to the vehicles' interactions.

Multi-skill Project Portfolio Scheduling

Group ID: gp12-mwm

Supervisor: Dr Mohammad Mesgarpour (mwm)

Group mailing list: gp12-mwm@cs.nott.ac.uk

Group project site: https://code.cs.nott.ac.uk/p/gp12-mwm

Group members:

Name CS User ID E-Mail
Chen, Ke kxc12u psykc3@nottingham.ac.uk
Chim, Dominic Li Man dlc01u psydc1@nottingham.ac.uk
Driss, Samy Nakayama snd01u psysd2@nottingham.ac.uk
Jarvis, Ross rxj01u psyrj@nottingham.ac.uk
Lin, Hongyang hxl22u psyhl1@nottingham.ac.uk


The main idea of this project is to develop a system to schedule set of projects performed by various combinations of workforce skills in an organization. Because of the complexity of the problem, heuristic approaches can be used to find a good schedule in a reasonable computational run-time.

For each project, work (task) breakdown structures, required skills, tasks estimated time based on skill levels, deadlines, precedence constraints, etc. are provided by the user. Moreover, skill levels, availabilities, salary rate per hour, preferences of staff, etc. are retrieved from the organization's database. Finally, the system aims to minimise the cost and duration of the project. he system displays each project schedule in a Gantt chart format as well as the list of assigned tasks to each person in a time frame format. As available/provided data is always accompanied by uncertainty, it is desirable to consider rescheduling projects during their life cycle. The system should also provide a compelling, easy-to-use, user interface.

PCAP Visualisation

Group ID: gp12-rmm

Supervisor: Dr Richard Mortier (rmm)

Group mailing list: gp12-rmm@cs.nott.ac.uk

Group project site: https://code.cs.nott.ac.uk/p/gp12-rmm

Group members:

Name CS User ID E-Mail
Chen, Lingxi lxc12u psylc4@nottingham.ac.uk
Gudalevich, Evelina exg00u psyeg1@nottingham.ac.uk
Onifade, Bolanle Esther beo01u psybo@nottingham.ac.uk
Sharif, Armani axs21u psydas1@nottingham.ac.uk
Yallop, Samuel Ashley say01u psysy@nottingham.ac.uk


PCAP is a well-known file format for storing network packet traces, perhaps best-known via the Wireshark capture and trace inspection tool. However, there are relatively few general purpose visualisation tools for PCAP files: some specific protocol-level ones exist that, e.g., permit examination of TCP performance by tracking sequence numbers and latencies; but most provide fairly simplistic per-flow information.

The aim of this project is to produce a range of novel visualisations of PCAP trace data and, preferably, of real-time trace collections. I would suggest that this involves wrapping the “libpcap” library implementation of PCAP to provide a web service that exposes a stream of JSON (or similar) encoded packets; and a range of web client apps that use Javascript (e.g., jquery and d3) to produce interesting visualisations of network traffic. More advanced solutions will make informed choices about placement of logic between the PCAP service and the web app; will perform sufficiently well to work in real-time; storing and using historical data; building comparative visualisations from multiple simultaneous collectors at different vantage points; and could extend as far as allowing the web app to intelligently control the work performed by the PCAP service.

Chinese Checkers

Group ID: gp12-nhn1

Supervisor: Dr Henrik Nilsson (nhn)

Group mailing list: gp12-nhn1@cs.nott.ac.uk

Group project site: https://code.cs.nott.ac.uk/p/gp12-nhn1

Group members:

Name CS User ID E-Mail
Hackett, Ryan rxh01u psyrh1@nottingham.ac.uk
Jones, Ethan exj01u psyej@nottingham.ac.uk
Newbold, Joseph jxn00u psyjn@nottingham.ac.uk
Nortje, Caitlin Rachael crn01u psycrno@nottingham.ac.uk
Wang, Jiayue jxw12u psyjw9@nottingham.ac.uk


Chinese checkers is a classical board game for 2 to 6 people. This project seeks to implement a software version of the game. At a minimum, the game should:

Development can be for either a standard computer, or for a mobile device (probably Android), or even both. Additional possibilities include:

Reactive Music

Group ID: gp12-nhn2

Supervisor: Dr Henrik Nilsson (nhn)

Group mailing list: gp12-nhn2@cs.nott.ac.uk

Group project site: https://code.cs.nott.ac.uk/p/gp12-nhn2

Group members:

Name CS User ID E-Mail
Cooke, Stephen Kingsbury skc01u eaydsc@nottingham.ac.uk
Fulton, Ryan rxf01u psyrf@nottingham.ac.uk
Hallam, George Oliver goh01u psygh@nottingham.ac.uk
Huo, Da dxh02u psydh2@nottingham.ac.uk
Sherry, Jonathan jxs41u psyjs3@nottingham.ac.uk
Tawafig, Michael mxt41u pmymt@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 complicated, 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, fully realizing this is critical to the success of this project. A related but distinct key to success is proper synchronization of musical events. This ultimately boils down to adopting proper data structures such as time-stamped queues of events, either directly, or indirectly through the use of appropriate libraries (like JFuge). (Attempts to synchronise independent concurrent threads are unlikely to yield acceptable results.)

This project can be pursued in one of two basic directions:

Here are some possible features, beyond a basic re-implementation of a reacTogon:

An Intelligent User Interface for Recognising Free-hand Graph Drawings

Group ID: gp12-exo

Supervisor: Dr Ender Ozcan (exo)

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

Group project site: https://code.cs.nott.ac.uk/p/gp12-exo

Group members:

Name CS User ID E-Mail
Cox, Robin John Dashwood rjc01u psyrjc@nottingham.ac.uk
Hao, Yajuan yxh02u psyyh1@nottingham.ac.uk
Leask, Samuel sxl01u psysl1@nottingham.ac.uk
Mandalia, Kevin kxm01u psykm1@nottingham.ac.uk
Sansom, Adam axs31u psyas4@nottingham.ac.uk
Wang, Ruoyang rxw02u psyrw1@nottingham.ac.uk


Free-hand drawings is a natural mode of interaction used in a variety of environments. As the use of pen-based systems such as tablet computers and smart-boards grow, sketch recognition has regained attention enabling natural pen-based interfaces.

This project involves in creating a natural and easy-to-use intelligent user interface by combining techniques from computer vision, machine learning, computer graphics and human-computer interfaces. Interactive multimedia such as computer simulations and animations received increased attention over the years as supplementary teaching tools and have now become integral components of most engineering and science curriculums. One way to increase the utility of such simulations and animations is to make them easier to use. In this project, a pen-based multimodal interface will be implemented based on sketch recognition algorithms and a speech recognition system (Windows SAPI). The goal of the project is to recognize spoken commands and interpret free-hand drawings for constructing weighted and unweighted graphs which functions as a front-end to a shortest path and minimum spanning tree (MST) algorithm simulators.

Note that the various subcomponents already exist: the focus of this project is a software-engineering effort to design the overall framework to bring the components together, the design of the user interface, and animation for two graph algorithms.

Initial reading:

The Light-Right App

Group ID: gp12-ajp

Supervisor: Dr Andrew Parkes (ajp)

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

Group project site: https://code.cs.nott.ac.uk/p/gp12-ajp

Group members:

Name CS User ID E-Mail
Boult, Christian cxb01u psycb@nottingham.ac.uk
Fleming, Sean Alexander saf01u psysf2@nottingham.ac.uk
Kumar, Sushant sxk01u psysk@nottingham.ac.uk
Li, Jiaqi jxl12u psyjl3@nottingham.ac.uk
Sayers, Joshua jxs21u psyjs4@nottingham.ac.uk
Yu, Haochen hxy02u psyhy2@nottingham.ac.uk


The basic idea is to write an app for a smartphone (probably Android) that allows it to work as a in-vehicle fuel usage meter. Thus, giving feedback on driving style and so encouraging drivers to develop a lighter right foot (hence the name). It is envisaged to work by combining information from the inbuilt GPS, compass, accelerometers and also from external map data. The combined information should build an internal model of the movements made by the car, and use this to estimate actual fuel usage. The intended mode of usage is for the phone to be held in some kind of cradle in a similar position to a SatNav. It should have an interface that is easy for the driver to read, and also should provide an indication of how a different driving style of the same route might have led to a different trade-off between time take and fuel used. For example, it might indicate that it they had not accelarated so hard up the hill it would have save 20% fuel, but only taken 15 secs longer. Technically, it is a mix of “sensor fusion” and physical modelling, along with an appropriate GUI.

For practical development and display reasons the software will need to be testable in a simulation mode using data that has been generated or recorded elsewhere. Also, in order to collect or use any “live” data then this will only be possible after ethics approval; by devising and using methods that ensure all ethical, saftey and legal obligations have been adequately addressed.

Advanced Portfolio Management

Group ID: gp12-rxq

Supervisor: Dr Rong Qu (rxq)

Group mailing list: gp12-rxq@cs.nott.ac.uk

Group project site: https://code.cs.nott.ac.uk/p/gp12-rxq

Group members:

Name CS User ID E-Mail
Ahmed, Muhammed mxa11u psyma5@nottingham.ac.uk
Christian, Emma Sarah esc01u psyec@nottingham.ac.uk
Ghitulescu, Alexandru Decebal adg01u psyadg@nottingham.ac.uk
Li, Sheng sxl02u psysl3@nottingham.ac.uk
Taylor, Michael James mjt01u psymjt@nottingham.ac.uk
Zhai, Yuntian yxz42u psyyz9@nottingham.ac.uk


This project aims to develop an advanced financial decision support system for finanical analysts or investors. This provides a solution and analytical tool for portfolio optimisation where a set of financial assets are selected to return the maximum expected profits at certain associated risk, or the minimum risk at an expected profits. In a 2010/11 group project, a software has been built where a framework, a basic GUI and a simulated annealing algorithm have been developed. This projects build upon that to further extend its functionalities, GUI, analytical tools and intelligent algorithms. The end product is expected to be a professional look software for demonstrations in teaching and research.

You will need to develop a system that includes:

Some resources to start with:

Flight Booking Mobile Application

Group ID: gp12-mvr1

Supervisor: Dr Milena Radenkovic (mvr)

Group mailing list: gp12-mvr1@cs.nott.ac.uk

Group project site: https://code.cs.nott.ac.uk/p/gp12-mvr1

Group members:

Name CS User ID E-Mail
Alexander, Ben bxa01u psyba1@nottingham.ac.uk
Dransfield, Alexander axd11u psyad@nottingham.ac.uk
James, Gwilym John gjj01u psywgj@nottingham.ac.uk
Sahans, Roupe Singh rss01u psyrs@nottingham.ac.uk
You, Xiaokai xxy02u psyxy1@nottingham.ac.uk


The aim of this project is to develop a mobile application for booking tickets for air travel. Given date, origin, destination, and number of passengers, along with possible constraints or preferences, such as desired times of departure and arrival, travel with a specific company or airline network, fewest hops, cheapest tickets, etc., the system should suggest possible routes and allow the customer to select and book one of them. To do this, the mobile application should interact with a database of flight information detailing flights, prices (possibly different prices depending on circumstances), constraints, current availability, etc.

Compared to a real such system, a lot of simplifying assumptions will have to be made. Nevertheless, it is expected that some background research on how this kind of systems work, what information is available in real flight databases, and how it is used is carried out. Then, based on this, a central aspect is to come up with good, general, and principled algorithms for suggesting and optimising routes.

The booking server should support multiple simultaneous clients, so mechanisms to avoid e.g. double bookings or discovering that some legs of a multi-leg trip are no longer available need to be implemented (without permanently “losing” seats that in the end are not booked).

The project should also support a (mock) payment system, so that it can charge the passengers after the passengers have input the information about the trip.

Finally, the system needs to be able to send notifications (in form of e-mails and SMSs) to the customers when there are unexpected changes to the scheduled flights.

Mobile Auction System

Group ID: gp12-mvr2

Supervisor: Dr Milena Radenkovic (mvr)

Group mailing list: gp12-mvr2@cs.nott.ac.uk

Group project site: https://code.cs.nott.ac.uk/p/gp12-mvr2

Group members:

Name CS User ID E-Mail
Hadkiss, Thomas James tjh01u psyth1@nottingham.ac.uk
Howland, Jake jxh01u psyjh4@nottingham.ac.uk
Littlefair, Marike Helen mhl01u psyml3@nottingham.ac.uk
Lobo, Ryan rxl01u psyrl1@nottingham.ac.uk
Zhang, Yao yxz02u psyyz10@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).

All users are expected to be mobile and be able to access the auction site in real time. The system is expected to be able to handle short-terms disconnections and build users profiles over time. User profiles should include their actual buying/selling behaviour but also their locations and mobility patterns. For example, the system should be able to detect that when a user is in a certain country and city, they are interested in buying/selling certain type of things. Notifications about the content interesting to the user and based on the long term user profiles are expected to be built in the system.

Monitoring and Reporting Road Congestion

Group ID: gp12-mvr3

Supervisor: Dr Milena Radenkovic (mvr)

Group mailing list: gp12-mvr3@cs.nott.ac.uk

Group project site: https://code.cs.nott.ac.uk/p/gp12-mvr3

Group members:

Name CS User ID E-Mail
Liu, Xueying xxl12u psyxl6@nottingham.ac.uk
Nicoll, Christopher cxn01u psycn@nottingham.ac.uk
Phelps, James jxp21u psyjp1@nottingham.ac.uk
Sandall, Jack jxs01u psyjs5@nottingham.ac.uk
Santaniello, Gaetano gxs11u psygs1@nottingham.ac.uk
Zhu, Boheng bxz02u psybz1@nottingham.ac.uk


The project aims to explore ways of how vehicles can communicate with each other in an ad hoc manner in order to disseminate traffic information they experience on the roads. There are a number of existing Vehicular Ad Hoc network protocols that can be explored in a number of different scenarios. Scenarios can include congested urban areas as well as cross country motorways between cities. The number of Road Ride Units can be determined based on the scenario or based on the real world deployments. The project will compare the efficiency of these ad hoc protocols versus protocols that rely on the infrastructure to disseminate the same information. The efficiency will be calculated in terms of success ratios of queries or uploaded multimedia data as well as latency and overheads.

Concretely, the project amounts to developing a simulation of a world; e.g., in the context of a simulator like ONE. This will include writing code for the identification of the points of interest, hotpots in the real map and code for communication protocols that involve generating and processing the traffic from these points as well as vehicles. Additionally, sophisticated means for (live) visualisation of simulation logs and graph analysis will have to be developed.

Development of a Greenhouse Appliances Control System

Group ID: gp12-pos

Supervisor: Dr Peer-Olaf Siebers (pos)

Group mailing list: gp12-pos@cs.nott.ac.uk

Group project site: https://code.cs.nott.ac.uk/p/gp12-pos

Group members:

Name CS User ID E-Mail
Gask, Adam James ajg01u psyag@nottingham.ac.uk
Nguyen Bui, Tai txn02u psytn2@nottingham.ac.uk
Paschalis, Antreas axp01u psyap1@nottingham.ac.uk
Rose, Joshua jxr11u psyjr1@nottingham.ac.uk
Sharma, Arjun axs11u psyas2@nottingham.ac.uk


Your group is hired to develop new greenhouse (appliances) control system. The goal is to maximise plant growth and plant quality while minimising production/running costs. Currently the greenhouse keeper controls everything manually. In the future the new system is supposed to control heating, water, light, plant feeding, and ventilation.

The software you are going to develop should be easy to maintain and extend. Therefore an object oriented approach to system analysis and design seems to be the right choice. Furthermore, before the software is implemented in the real greenhouse the greenhouse keeper wants it to undergo extensive testing in a virtual environment.

After an initial discussion with the greenhouse keeper you start by putting together a report that will help you to present your ideas and to make sure that you capture all the requirements (the report includes a requirement analysis and the conceptual system design). Then you program the control software (either in Java or C++) and a simple testing environment that allows testing the functionality of your software. The testing environment needs to have a GUI for controlling and visualising the simulation and its results and should provide an estimation of greenhouse running costs for different (varying) weather conditions.

Behaviour Based Robotics — from Simulation to the Real World

Group ID: gp12-cxw

Supervisor: Dr Christian Wagner (cxw)

Group mailing list: gp12-cxw@cs.nott.ac.uk

Group project site: https://code.cs.nott.ac.uk/p/gp12-cxw

Group members:

Name CS User ID E-Mail
Gyawali, Sangeet sxg01u psysg3@nottingham.ac.uk
Jenkins, Alexander John Philip ajj01u psyajj@nottingham.ac.uk
Manji, Adil axm11u psyam1@nottingham.ac.uk
Millar, Leo Taifa ltm01u psylm@nottingham.ac.uk
Shi, Pu pxs22u psyps2@nottingham.ac.uk
Slee-Egeler, Tariq txs20u psyts@nottingham.ac.uk


As part of the project an insect-like behaviour will be implemented for a 2-wheeled autonomous mobile robot. The behaviour will be based on three main functionalities:

The practical development in the project will involve the interaction with a real and prebuilt robot based on the Lego NXT platform. As part of the project, the robot may need to be extended and its properties will need to be simulated (based on the Microsoft Robotics Studio). The robot will be programmed at the micro controller level using C or C#.

A particular emphasis of this project is a systematic software process suitable for robotics, and the documentation of this process: the real robot and its design/specification come first, then a simulation is developed for it (within Microsoft Robotics Studio), then the software for the robot is developed in simulation, then that software is taken back to the real robot. As the real world inevitably is more complex than a simulation, this may have to be iterated until the simulation is sufficiently detailed and the software works sufficiently well.

Serendipty Browser

Group ID: gp12-mlw

Supervisor: Dr Max Wilson (mlw)

Group mailing list: gp12-mlw@cs.nott.ac.uk

Group project site: https://code.cs.nott.ac.uk/p/gp12-mlw

Group members:

Name CS User ID E-Mail
Butler, Steven sxb31u psysb2@nottingham.ac.uk
Cespedes, Deja dxc11u psydc@nottingham.ac.uk
Prestidge, Jarvis George Arthur jgp01u psyjgp@nottingham.ac.uk
Skelton, Kathryn Elizabeth kes11u pmyks@nottingham.ac.uk
Staines, Joe jxs31u psyjs2@nottingham.ac.uk
Xu, Sheng sxx02u psysx1@nottingham.ac.uk


In this web-based project, you must build a system that a) lets the user specify a range of interests, b) automatically searches the web for them, and then later when the user does a normal search for work etc, c) highlights results that relate to their specified interests. The aim is to help the searcher realise that there are connections between their interests and their daily activities. This project involves several modular parts including: offline development, web development, a complicated database, and a web-search API. You'll have to gather requirements for what the system must do, before developing a specification and dividing the work. The output must be an excellent usable working system that performs as a modified web search engine.

Students and Group Allocations 2012/13

Name Group
Abdullah, Mohamed gp12-jaa
Ahmed, Muhammed gp12-rxq
Alexander, Ben gp12-mvr1
Alidin, Erny Willya gp12-nza
Barford, Conor Michael gp12-jds
Barrett, George Phillip gp12-nza
Beckles, Kyle gp12-abb
Boult, Christian gp12-ajp
Bradley, Benjamin gp12-jmg
Bratby, Nathan gp12-jaa
Broadhead, Hayden Yaneeve gp12-gmh
Butler, Steven gp12-mlw
Casserly, Ross gp12-jqb
Cespedes, Deja gp12-mlw
Chapman, Ryan gp12-axc
Chen, Ke gp12-mwm
Chen, Lingxi gp12-rmm
Chen, Shaoqing gp12-jqg
Cheng, Zixuan gp12-gmh
Cheo, Kar Lok gp12-nza
Chim, Dominic Li Man gp12-mwm
Christian, Emma Sarah gp12-rxq
Clarke, Bailey Daniel Thurston gp12-jds
Clay, Ryan Kenneth gp12-mdf
Cojocaru, Octavian-Laurentiu gp12-gmh
Cooke, Stephen Kingsbury gp12-nhn2
Coward, Michael gp12-bsl
Cox, Robin John Dashwood gp12-exo
Dobson, Rory Jack gp12-mdf
Dobson, Simon gp12-bsl
Don Ranasinghe, Gishan gp12-jds
Dransfield, Alexander gp12-mvr1
Driss, Samy Nakayama gp12-mwm
Duncan, Thomas James gp12-jqb
Dunford, Thomas gp12-axc
Edwards, Alexander William Joseph Howell gp12-jqb
Fleming, Sean Alexander gp12-ajp
Fountain, Steven gp12-mdf
Fox, Joshua Clifford gp12-srb
Fulton, Ryan gp12-nhn2
Furber, Simon gp12-rcb
Gask, Adam James gp12-pos
Ghitulescu, Alexandru Decebal gp12-rxq
Gong, Keyu gp12-jds
Gudalevich, Evelina gp12-rmm
Gyawali, Sangeet gp12-cxw
Hackett, Ryan gp12-nhn1
Hadkiss, Thomas James gp12-mvr2
Hallam, George Oliver gp12-nhn2
Hao, Yajuan gp12-exo
Harper-Pittam, George gp12-jqg
Hoban, Colum Tomas gp12-rcb
Hovell, Luke gp12-jmg
Howland, Jake gp12-mvr2
Hoyes, Lee gp12-rcb
Htike, Hein Min gp12-jaa
Huo, Da gp12-nhn2
James, Gwilym John gp12-mvr1
Jarvis, Ross gp12-mwm
Jenkins, Alexander John Philip gp12-cxw
Jones, Ethan gp12-nhn1
Karimian, Nathan Darius gp12-jmg
Key, James Paul gp12-jds
Knott, Craig gp12-jmg
Kumar, Sushant gp12-ajp
Leask, Samuel gp12-exo
Li, Boyu gp12-bsl
Li, Jiaqi gp12-ajp
Li, Sheng gp12-rxq
Li, Xiaolin gp12-rcb
Li, Yanan gp12-abb
Lin, Hongyang gp12-mwm
Littlefair, Marike Helen gp12-mvr2
Liu, Xueying gp12-mvr3
Loaiza Apolo, Jorge Rodrigo gp12-jds
Lobo, Ryan gp12-mvr2
Mandalia, Kevin gp12-exo
Manji, Adil gp12-cxw
Millar, Leo Taifa gp12-cxw
Morris, Daniel gp12-axc
Nash, Joe Daniel gp12-jqg
Netchaev, Alan gp12-jqg
Newbold, Joseph gp12-nhn1
Nguyen Bui, Tai gp12-pos
Nicholl, Marvin James gp12-mdf
Nicoll, Christopher gp12-mvr3
Niemandt, Melanie gp12-abb
Nortje, Caitlin Rachael gp12-nhn1
O'Reilly, Daniel gp12-gmh
Olushola, Taiwo Oluwabunmi gp12-srb
Omidiora, Adedotun gp12-bsl
Onifade, Bolanle Esther gp12-rmm
Paschalis, Antreas gp12-pos
Patel, Mehul gp12-abb
Phelps, James gp12-mvr3
Phillips, Matthew gp12-jqb
Phillips-Hemming, Zachary gp12-jqb
Prestidge, Jarvis George Arthur gp12-mlw
Rana, Aakash gp12-rcb
Rose, Joshua gp12-pos
Ross, Benjamin James gp12-bsl
Sahans, Roupe Singh gp12-mvr1
Sandall, Jack gp12-mvr3
Sansom, Adam gp12-exo
Santaniello, Gaetano gp12-mvr3
Sayers, Joshua gp12-ajp
Sharif, Armani gp12-rmm
Sharma, Arjun gp12-pos
Sherry, Jonathan gp12-nhn2
Shi, Pu gp12-cxw
Skelton, Kathryn Elizabeth gp12-mlw
Slee-Egeler, Tariq gp12-cxw
Smith, Andrew Thomas gp12-nza
Spacagna, Lee gp12-mdf
Staines, Joe gp12-mlw
Stone, Sam gp12-gmh
Sugar, Carwyn Kristian gp12-srb
Tamizian, Raffi Haig gp12-axc
Tawafig, Michael gp12-nhn2
Taylor, Michael James gp12-rxq
Tretyakov, George gp12-jmg
Wang, Jiayue gp12-nhn1
Wang, Ruoyang gp12-exo
Weisselberg, Roy gp12-bsl
Whiteman, Jordan Christian Gage gp12-jqg
Williams, Samuel gp12-abb
Wojcik, Jakub gp12-nza
Wright-Dodds, John gp12-jqg
Xu, Sheng gp12-mlw
Yallop, Samuel Ashley gp12-rmm
Yan, Mingyang gp12-nza
Yao, Zhe gp12-jqb
Yeomans, Benjamin Michael gp12-axc
Yiannatsos, Konstantinos gp12-srb
You, Xiaokai gp12-mvr1
Yu, Haochen gp12-ajp
Zhai, Yuntian gp12-rxq
Zhang, Chen gp12-rcb
Zhang, Diwen gp12-abb
Zhang, Xin gp12-srb
Zhang, Yao gp12-mvr2
Zhou, Xiaotian gp12-axc
Zhou, Yutong gp12-mdf
Zhu, Boheng gp12-mvr3

Last updated Tue Apr 30 14:17:59 BST 2013.