Group ID: gp08-nhn
Supervisor: Henrik Nilsson (nhn)
Group mailing list: gp08-nhn@cs.nott.ac.uk
Group members:
Description:
Guitar Hero is a combined musical and computer game that has become very
popular recently. This project is inspired by that game, but aimed at
keyboard players instead, and with a more educational scope. It is
envisioned that the game will be played by attaching a MIDI keyboard to
the computer.
One can imagine many kinds of games. The simplest is perhaps showing the score for a musical phrase to the player, picked by the computer at random from a library (or maybe even randomly generated), and asking him or her to play it as accurately as possible guided by a metronome click. Points are scored depending on how accurately the phrase is played, and the difficulty of the phrase (e.g. tempo, how involved it is, key, ...). One can imagine variations with one note at a time or chords, and one or two hands simultaneously. Other variations include asking the player to play with a certain rhythmic feel, like swing, as opposed to as accurately as possible.
To make the game more fun, and more like Guitar Hero, the metronome click could be replaced by a backing track (either MIDI or audio) for well-known tunes.
For ultimate fun, consider on-line play. It's likely not feasible to broadcast the performance of a player in real-time unless they are on the same local net, but one could easily capture a performance as a MIDI sequence, and then sending that to the other players so they can hear how well or badly their opponents played a particular phrase. One could consider allowing the players to set each other musical challenges by picking phrases from well-known songs as an alternative to the computer picking phrases at random.
In short, plenty of scope to develop this project in different directions! As a base-line, the project should implement at least a simple variation of the game, and playing over the Internet in some form.
Group ID: gp08-nza
Supervisor: Natasha Alechina (nza)
Group mailing list: gp08-nza@cs.nott.ac.uk
Group members:
Description:
The project involves writing a tool which computes an interleaving of two
regular expressions. The interface should allow the user to input two
regular expressions. In the backend, they will be converted to two
automata, their product automaton will be computed, and translated back
into a regular expression which will be displayed in the interface.
Group ID: gp08-txa
Supervisor: Thorsten Altenkirch (txa)
Group mailing list: gp08-txa@cs.nott.ac.uk
Group members:
Description:
The goal of the project is to develop an interactive, multi-user,
networked implementation of the popular board game "Diplomacy". 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 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.
Group ID: gp08-jqb1
Supervisor: Jaume Bacardit (jqb)
Group mailing list: gp08-jqb1@cs.nott.ac.uk
Group members:
Description:
Carcassonne is a very simple but flexible tile-style board game. It is
inspired by the city of the same name in the south of France, famous for
its extraordinary walled citadel and castle. The objective of the game is
to build a world based on a set of predefined tiles. This world contains
castles, paths and fields. In turns, each player gets a blindly picked
tile, and has to place it on the table, connected to the already present
tiles in a way that it matches the rest of the "world". For
instance, a path tile has to be connected to another tile containing a
path. Players also have some tokens to take control of different parts of
this world. There are a few rules that control de game, but not many, and
given that each time the players can construct a new world, this game has
an extraordinary level of flexibility. For more information, please see Wikipedia
This group project has to implement an online version of this game. A central computer will host the game, will control all rules and will give turns to each player. The players will connect remotely to the central computer, through e.g. a web interface or any other system that gives enough flexibility that allows a smooth interactive experience to the users of the game. The interface should also include a chat system that lets the players talk between them . The interface should have different levels of difficulty. In the easiest levels, it should help the player in placing a new tile by, for instance, highlighting the suitable positions. In more difficult levels the interface should only check if the position that the player chose is correct or not. Other kinds of help could be giving strategic hints to the players.
Group ID: gp08-rcb
Supervisor: Roland Backhouse (rcb)
Group mailing list: gp08-rcb@cs.nott.ac.uk
Group members:
Description:
Combinatorial games are used extensively in G51APS. This project has goal
to develop software for online testing of the students' understanding of
the material.
The software should have at least the following components:
Group ID: gp08-srb
Supervisor: Steve Bagley (srb)
Group mailing list: gp08-srb@cs.nott.ac.uk
Group members:
Description:
The advent of high-end digital presses has created opportunities for new
methods of creating printed documents. Print runs need no longer fall into
category of many copies of the same document, instead it is possible for
each document to be customized to its recipient. These documents, termed
variable data documents, can vary from being as simple as adding the
customers name, to selecting completely different content based on the
recipient's interests or habits.
This brings about a new breed of hardware and software challenges. Traditionally, the time take to generate the raster image data used to drive the printing (Raster Image Processing, or RIP for short) has been immaterial, since it was a task performed once at the start of the print job. However, when each page instance is different, every page must be RIPped independently. This poses a problem since the data for each page must be generated in less than a second so that the printing press can keep running at speed.
Therefore, new approaches are required to describe and print Variable Data Documents. The most common of these is to describe each page as a series of separate document components that are positioned on each page at various points. These components can then be cached at the raster bitmap level, and then composited directly onto the final raster removing the need to repeatedly RIP the components. New technologies, principally the Personalized Print Markup Language (PPML), have been developed that can describe these documents.
Your task is to develop a tool that will display a PPML document on screen and show which parts of each page document are cached at the raster level, which parts are being RIPped specifically for this page etc.
The following papers might provide more information:
Group ID: gp08-axc
Supervisor: Andrew Crabtree (axc)
Group mailing list: gp08-axc@cs.nott.ac.uk
Group members:
Description:
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.
The goal of this project is to develop services or applications that support interaction and communication between household members. Solutions therefore focus on cooperative activities within the home or that take place between members outside of the home. Coordinational activities such as:
Group ID: gp08-jmg
Supervisor: Jonathan Garibaldi (jmg)
Group mailing list: gp06-jmg@cs.nott.ac.uk
Group members:
Description:
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 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 by developing one or more simple strategies and
then 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.
Group ID: gp08-cmg
Supervisor: Chris Greenhalgh (cmg)
Group mailing list: gp08-cmg@cs.nott.ac.uk
Group members:
Description:
The aim of this project is to design, implement and evaluate an
application for use on mobile phones which allows media (e.g. photos) to
be shared between mobile phones. The application SHOULD: be written in
Java (J2ME, CLDC); use Bluetooth for local wireless communication; support
at least one media type (e.g. image); allow shared media to be viewed;
allow the sharing of media to be controlled by the user; allow local media
management (e.g. to avoid running out of storage space). As optional
extensions, the application MAY: integrate media capture (e.g. use of a
built-in camera); support multiple media types (e.g. audio, video, text);
include some form of digital rights management and/or accounting; allow
unattended use, e.g. to automatically publish local information or for
advertising from a fixed phone; include some element of trading or
"game play" in the sharing of media; link to a fixed server such
as a web site. You may decide additional features or capabilities that the
application should have. It is suggested that the
Sun Java Wireless Toolkit be used to support development.
Group ID: gp08-cah
Supervisor: Colin Higgins (cah)
Group mailing list: gp08-cah@cs.nott.ac.uk
Group members:
Description:
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 each outcome
with different betting companies, the bettor can make a profit. As long as
different Bookmakers are used for arbitrage betting the Bookmakers do not
have a problem with this. Each Bookmaker will still make profit due to
their calculations. A typical arbitrage is around 2%, often less, however
4%-5% are also normal and during some special events they might reach 20%!
There are disadvantages to arbitraging, the main one being how to find them! There are services that can be subscribed to, however, they are expensive and because many people use them, lead to speed competition between the subscribers as they all try to take advantage of the same circumstances.
A (partial) solution to this is to write bespoke software. This project involves writing the software to provide such a system and will need a database, concurrent/distributed software to poll for market values (the odds from each bookmaker), and software for controlling and monitoring the system, for accessing the data and for presenting options and tracking activities. It will involve some of: SQL, Java, C#, JSP, PHP, RSS, XML, HTML, SHTML etc.
Group ID: gp08-gmh
Supervisor: Graham Hutton (gmh)
Group mailing list: gp08-gmh@cs.nott.ac.uk
Group members:
Description:
The Scratch system developed by MIT's Media Lab is a graphical language
that allows children to develop simple games. The aim of this project is
to design and implement a "light" version of the system that includes a
range of basic features, but need not be as comprehensive as the full
system itself. This project will involve learning about a number of
interesting topics, including language design, interpreters, and user
interfaces.
Group ID: gp08-gxk
Supervisor: Graham Kendall (gxk)
Group mailing list: gp08-gxk@cs.nott.ac.uk
Group members:
Description:
This project involves creating a set of fixtures
for an English football season. At first sight, it might appear that we
can simply schedule each division in isolation. However, something called
the pairing system means that we cannot do this. The pairing system
dictates that certain teams cannot play at their home venue at the same
time, and this might affect teams which are in different divisions.
Your main tasks include carrying out a literature review to find out what
has been done before in this area, and implementing and evaluating an
flexible and easy-to-use system for constructing the fixtures.
Further details
here.
Group ID: gp08-nxk
Supervisor: Natalio Krasnogor (nxk)
Group mailing list: gp08-nxk@cs.nott.ac.uk
Group members:
Description:
This project will involve the development of a state-of-the-art webserver
to support the calculation, prediction and visualisation of protein
structure features. Proteins are the essential "workforce" of
living organisms and as such have been rigorously studied for over almost
a century. In this project the group will integrate bioinformatics
software developed in Krasnogor's group into a user friendly web server
that could be used by biologists and bioinformaticians all over the world.
Two kind of services will be provided, namely, (1) protein structure
feature prediction and (2) protein structure feature calculation. The
software for 1 & 2 has been implemented in Haskell and will be
provided to the group. A prototype server for 1 is running at
http://lobelia.cs.nott.ac.uk/psp/prediction/ and the group will need to
expand the current services by adding (2) and by creating from scratch
graphical visualisations for 1 & 2. This is a challenging software
engineering project in which a variety of technologies will need to be
learnt and glued together. The skills gained throghout the project will be
transferable to other modules and, of course, industry. Moreover, the
students will have the opportunity to directly interact with a very active
and successful research team and experience science as it is done on a
day-by-day basis.
Group ID: gp08-bai
Supervisor: Bai Li (bai)
Group mailing list: gp08-bai@cs.nott.ac.uk
Group members:
Description:
This project focuses on the principle of using hand tracking to interact
with a gaming environment. The system should let the user influence
changes in movement of various different objects, by just waving their
hand in front of a camera. The camera registers that the hand is currently
moving and signals to the system. The program will acknowledge the moving
hand and move an object on the screen. A system of this kind may prove
useful to a gamer, allowing a more interactive experience, leaving
sluggish keyboard controls in the past.
Group ID: gp08-bsl
Supervisor: Brian Logan (bsl)
Group mailing list: gp08-bsl@cs.nott.ac.uk
Group members:
Description:
The aim of this project is to design and implement an Internet based
project management tool to support collaborative group activities (e.g., a
software group project, organising an open day, arranging a conference,
sports meeting, concert etc). The tool should support the creation of
tasks and subtasks for one or more projects, associating people and
resources to tasks, and tracking the status of the project. It should be
possible to state constraints on tasks (e.g., that task A must occur
before task B, or that a task or activity requires a particular resource,
e.g., a seminar room), and to associate deadlines, milestones and
deliverables with tasks. It should be possible to delegate responsibility
for the organistion of a particular task to a particular person (or group
of people) and for multiple users to update and track the status of the
project simultaneouly over the Internet, e.g, adding subtasks of a task,
marking tasks as completed, deferred, postponed, etc. (One possible
extension would be to allow updates and project tracking from devices such
as mobile phones etc.) To track projects, it should be possible to see who
is working on which task(s), upcoming and missed deadlines (e.g., using a
calendar view). All changes to the task strucuture, task allocations etc
should be logged, so that it is possible to understand how the project
changed over time. It would be desirable if visualisations of the project
(e.g., as GANTT charts or task networks) can be printed or saved for
inclusion in reports etc.
Detailed specification of the project will be decided by the project group in collaboration with the project supervisor. A range of implementation approaches are possible; the approach adopted to be decided by the group.
Group ID: gp08-ajp
Supervisor: Andrew Parkes (ajp)
Group mailing list: gp08-ajp@cs.nott.ac.uk
Group members:
Description:
Deal Or No Deal (DOND) is (or at least was) a television game show in the
UK; See Wikipedia.
The aim is to develop this is into a potential computer game. The
resulting application should be fun, interesting and easy to use. It
should also have various playing options from standalone single user up to
networked multi-user. When the computer plays then it should also have
intelligent playing strategies; for example, the strategies should have an
ability to bluff or cede as appropriate. The group could also set itself
the task of looking at the effects of different playing styles.
Group ID: gp08-tpp
Supervisor: Tony Pridmore (tpp)
Group mailing list: gp08-tpp@cs.nott.ac.uk
Group members:
Description:
Graphical documents are generated in many application areas, with
different types of engineering drawing and map being among the most
common. These documents often need to be modified and re-used over time,
and so are stored, as images, in databases. As the size of an image
database increases, retrieval becomes more difficult. Linguistic tags can
be added to each image, but this is a time-consuming task and it is
hard/impossible to predict the tags needed to support future users. Symbol
spotting is an alternative. Here, the user sketches a component or symbol
that must be present in the retrieved document. The sketch is converted to
a standard data structure, which is also extracted from each image in the
database. The two are matched, and images containing the sketched symbol
are then displayed to the user. The goal of this project is to create a
simple symbol spotting system that could support this type of interactive
image retrieval.
Group ID: gp08-qiu1
Supervisor: Gouping Qiu (qiu)
Group mailing list: gp08-qiu1@cs.nott.ac.uk
Group members:
Description:
The rapid expansions of the Internet and fast advance in digital imaging
technology have enabled the wide spread use of image libraries and
databases. One of the challenges in managing large image databases is the
indexing of images. There are generally two approaches to indexing
textual-based and content-based approaches. In textual based approach, an
image is annotated with a set of keywords that appropriately describe the
visual content of the image. Database access/image retrieval in this
approach is based on keyword (text) search/matching. In contrast,
content-based approach uses advanced image processing/computer vision
techniques to extract a set of visual features (such as colour
distributions, texture characteristics, objects shapes etc) from the image
as its annotation. In this second approach, database access/image
retrieval is based on "query by example" whereby the user
presents the system with an example (image) and retrieves from the
database those images that are similar (to the example). The aim of this
project is to implement a system for content-based retrieval. Queries
should be handled through a well-designed, web-based, user interface.
There should also be a well-designed administrative GUI for maintaining
the database.
Group ID: gp08-qiu2
Supervisor: Gouping Qiu (qiu)
Group mailing list: gp08-qiu2@cs.nott.ac.uk
Group members:
Description:
The aim of this project is to develop a tool to manage and organise
digital photo collections. The tool will include following features:
Group ID: gp08-rxq
Supervisor: Rong Qu (rxq)
Group mailing list: gp08-rxq@cs.nott.ac.uk
Group members:
Description:
This project involves developing an online interative computer software
system that assists students to choose their course modules at the
beginning of each academic years. Students of different courses in the
School of Computer Science have a number of compulsary modules in addition
to a number of optional modules. The selection of optional modules needs
to follow a number of rules such as correct level, pre-requisites,
timetable restrictions, limits of external modules, approporaiteness to
the course, etc.
You will need to develop templates of different courses in the School of Computer Science, considering all these above mentioned (and other possible) constraints in the system to help students efficiently choose their optional modules. Students information is provided by databases. The system also includes an GUI to help students selecting the most approporaite modules.
Keywords: Software development, online database development, GUI
Group ID: gp08-mvr1
Supervisor: Milena Radenkovic (mvr)
Group mailing list: gp08-mvr1@cs.nott.ac.uk
Group members:
Description:
This project should develop a prototype of a card
game (poker for example) that can be played by multiple players with
mobiles over Bluetooth. This includes developing networked mechanisms for
shuffling and dealing a deck of cards, a GUI that displays a player's dealt
hand, and handles hand-playing; handling the game's simple logic like
users requesting and changing number of cards, ending the game, counting
the score and determining the winner.
Group ID: gp08-mvr2
Supervisor: Milena Radenkovic (mvr)
Group mailing list: gp08-mvr2@cs.nott.ac.uk
Group members:
Description:
This project should develop a prototype of an airline website that will
provide information about flight schedule and ticket purchasing online.
This includes flight schedule search, ticket availability, ticket
purchasing and reservations, personal updates about flight changes, and
suggestions for alternative routes, customer tailored advertisements. This
project implementation will involve database backend, website front end
(capable of delivering content to both full-fledged browsers and mobile
phone based one), logic to find optimal routes according to user defined
criteria (shortest, cheapest, via certain destination, etc), personalised
customer notifications (via email or sms) regarding flight changes, and
alternative available routes and tailored advertisements.