Sei sulla pagina 1di 23

Fourth Year Projects

2011

Welcome

Welcome to the Department of Computer Science Open Day


for Final Year Projects! We are delighted to have on display a
wide range of interesting projects spanning topics as diverse as
Robotics, E-Commerce, Reconfigurable Computing, Artificial
Intelligence and Music - to name just a few.

The projects on display are the culmination of six months of


hard work by our Fourth Year BSc (Computer Science)
students, building on the knowledge they have acquired at UCC
and during their industrial placement. We hope you take the
opportunity to see many of the projects and chat to the students
and staff involved. Enjoy!

James Bowen

1
2
TABLE OF CONTENTS

Page
Welcome Address 1
Contents 3

PROJECT TITLES
Modelling Critical Workflow ... ... ... ... ... 7
MP3 Segmentation Tool ... ... ... ... ... 7
Guitar Network ... ... ... ... ... ... ... 7
A New Implementation of SAL ... ... ... ... ... 8
Assignment Management System ... ... ... ... 8
Recursion Visualisation Tool ... ... ... ... ... 8
Whats The Next Class Move? ... ... ... ... ... 8
Survey Tool ... ... ... ... ... ... ... 9
Organ Donor Management System ... ... ... ... 9
Active Suspension for Lego Robot ... ... ... ... 9
Secure Remote Viewing of EEG Data ... ... ... ... 9
Android App for Accessing Tournament Information ... ... 9
EasyQuestion - Enabling Real-time Two-way Communication Between
Students and Lecturer ... ... ... ... ... 9
UCC Information Assistant System(UIAS) app on IPhone ... 10
Analysis and Display of Biomedical Information ... ... ... 10
ProPaGate - Professional Page Garnering and
Transmission Environment ... ... ... ... ... 11
Interactive Computational Geometry ... ... ... ... 11
Android App for AR Tour of Irish Tourist Site (Shandon area of Cork)
Including Integrated Video ... ... ... ... ... 11
DGB5. Planet Wars Meets AI ... ... ... ... ... 12
iPhone App: See and Solve Sudoko ... ... ... ... 12
Akheilos ... ... ... ... ... ... ... 12
Reactive Gameplay ... ... ... ... ... ... 13
Android FEPL ... ... ... ... ... ... ... 13
Musical Chord Annotation ... ... ... ... ... 13
Language Training School System ... ... ... ... 13
Decision Support System in a Serious Game ... ... ... 13
Comparing SAT Encodings of Constraint Problems ... ... 13
Reinforcement Learning for Elevator Scheduling ... ... 13
Video Game ... ... ... ... ... ... ... 14
DGB3. OmNomNom: A Meta-Search Engine for Recipes ... ... 14
DGB11. Evolving the Web of Data ... ... ... ... 14
A Browser Side Extension for Accelerating Web Tracking ... ... 15
Reinforcement Learning for Robot Navigation ... ... ... 15
Restaurant Management System ... ... ... ... 15
3
A Secure Multi-tenant Application Framework ... ... ... 16
Hospital Information System ... ... ... ... ... 16
DGB1. Ant Algorithms for Clustering ... ... ... ... 16
Java Game Programming ... ... ... ... ... 17
Fuzzy Bomber ... ... ... ... ... ... ... 17
Digital Notary Plugin for Moodle ... ... ... ... ... 17
Web-based Home Heating Control Protocol (WHHCP) ... ... 17
A Visual Programming Kit for Mathematics and Graphics ... ... 18
Android App for AR Tour of Irish Tourist Site (Spike Island)
Including 3D Modelling ... ... ... ... ... 18
Intruder Alarm for a Limited Access Facility ... ... ... 19
VR Project 1 ... ... ... ... ... ... ... 19
Reinforcement Learning for Connect-4 ... ... ... ... 19
Publish-Subscribe Architecture for Wireless Sensor Networks ... 19
Value Squashing ... ... ... ... ... ... 20
Flash Card Sending System ... ... ... ... ... 21
iPhone Version Scrum ... ... ... ... ... ... 21
Project Open Day Flyers and Lab Layout Management ... ... 21
Statistical Machine Translation of the Computer Science Department
Website ... ... ... ... ... ... ... 22
Remote Viewing IPhone App ... ... ... ... ... 22
HL7 Compliant Medical Informatics Application for the iPad ... 22
Services Management in Cloud Computing ... ... ... 22
Outbound SAP to Spring Integration POC ... ... ... 23
CSP Editor ... ... ... ... ... ... ... 23
Mix & Maybe Match: Market & Information Exchange ... ... 23

4
STUDENTS

Adams, Simon ... ... ... ... ... ... ... 7


Barron, Robbie Patrick ... ... ... ... ... ... 7
Boulanger, Martin ... ... ... ... ... ... 7
Casey, Kevin ... ... ... ... ... ... ... 8
Chen, Ying ... ... ... ... ... ... ... 8
Collins, Ciaran ... ... ... ... ... ... ... 8
Condon, John Kieran ... ... ... ... ... ... 8
Curran, Stephan ... ... ... ... ... ... 9
Curtin, Eoin ... ... ... ... ... ... ... 9
Daly, Eric ... ... ... ... ... ... ... 9
Deng, Siyu ... ... ... ... ... ... ... 9
Fanning, Mark ... ... ... ... ... ... ... 9
Fedosejev, Artemij ... ... ... ... ... ... 9
Feng, Xin ... ... ... ... ... ... ... 10
Fitzpatrick, Samuel David ... ... ... ... ... 10
Gaynor, Paul Muiris ... ... ... ... ... ... 11
Guo, Haodong ... ... ... ... ... ... ... 11
Huang, Fuguo ... ... ... ... ... ... ... 11
Hurley, Barry John ... ... ... ... ... ... 12
Jaczewski, Lukasz ... ... ... ... ... ... 12
Jakobus, Benjamin ... ... ... ... ... ... 12
Johnston, Michael ... ... ... ... ... ... 12
Kaar, Samuel Edward ... ... ... ... ... ... 13
Linehan, Donal ... ... ... ... ... ... ... 13
Li, Bing ... ... ... ... ... ... ... ... 13
Liu, Ting ... ... ... ... ... ... ... 13
Luo, Minghao ... ... ... ... ... ... ... 13
Mammeri, Yasin ... ... ... ... ... ... ... 13
Marah, Jason Paul ... ... ... ... ... ... 14
Mc Carthy, David Shaun ... ... ... ... ... ... 14
Meaney, John Paul Laurence ... ... ... ... ... 14
Meng, Zeqian ... ... ... ... ... ... ... 15
Mo, Kai ... ... ... ... ... ... ... ... 15
Moloney, Cillian Padraig ... ... ... ... ... ... 15
Morrissey, Jamie Michael ... ... ... ... ... 16
Niu, Nichen ... ... ... ... ... ... ... 16
O Duinn, Padraig Iarlaith ... ... ... ... ... 16
OHanlon, John Daniel ... ... ... ... ... ... 17
ORiordan, Alan ... ... ... ... ... ... ... 17
OSullivan, Megan ... ... ... ... ... ... 17
Pang, Lu ... ... ... ... ... ... ... 17
Roberti, Sean Jeremiah ... ... ... ... ... ... 18
Saklokham, Jean Philippe ... ... ... ... ... 18

5
Sheehan, Sean Brendan ... ... ... ... ... 19
Strautina, Inese ... ... ... ... ... ... 19
Tong, Allan ... ... ... ... ... ... ... 19
Twohig, Cian ... ... ... ... ... ... ... 19
Walsh, Shane ... ... ... ... ... ... ... 20
Wang, Zhanhui ... ... ... ... ... ... ... 21
Wang, Zhuo ... ... ... ... ... ... ... 21
Wei, Xing ... ... ... ... ... ... ... 21
Whelan, Anthony ... ... ... ... ... ... 22
Xia, Yuwei ... ... ... ... ... ... ... 22
Yu, Zhenjun ... ... ... ... ... ... ... 22
Zeng, Wei ... ... ... ... ... ... ... 22
Zhang, Jiaying ... ... ... ... ... ... ... 23
Zhu, Rongsheng ... ... ... ... ... ... 23
Zhuang, Danli ... ... ... ... ... ... ... 23

6
PROJECT DESCRIPTIONS
Modelling Critical Workflow
Workflow describes the organising of tasks, typically
part of a business process, according to some set of
rules. Tasks to be organised in an internet shop might
include: check order is well-formed; check availability;
order from warehouse; validate credit card; send
confirmation. Workflow in particular applications, for
example, hospitals, (e.g. [1]) may involve life-critical
tasks and therefore have added constraints of security,
reliability, fault-tolerance, etc. The goal of this project is
to evaluate existing models of critical workflow, and
develop better models that can provide a basis for
analysis and monitoring. General analysis might
include checking whether some steps are redundant
Adams, Simon and never executed or whether the workflow can
Supervisor: deadlock; a particular implementation may explicitly
Dr. John Herbert check for various steps. As part of the project a case
study of a critical workflow could be modelled, and/or a
workflow monitor could be developed for a particular
critical application. One area of particular interest is
the workflow in an operating theatre, as indicated by
initiatives such as OR2020 The Operating Room of the
Future[2], or imminent commercial products such as
[3]. Initial references [1] Malhotra, S., Jordan, D.,
Shortliffe, E., and Patel,V. L. 2007. Workflow modelling
in critical care: Piecing together your own puzzle. J. of
Biomedical Informatics 40, 2 (Apr. 2007), 81-92. [2]
http://www.or2020.org/OR2020_REPORT/Report_File
s/operational_efficiency.html [3] http://www.bio-
optronics.com/Products/Momentum/SurgeryWorkflow
Manager.aspx
Barron, Robbie MP3 Segmentation Tool
Patrick The aim of this project was to design and develop an
Supervisor: mp3 player / editor with track segmentation, library
Gavin Russell management and web crawling functionality.
Guitar Network
Boulanger, The purpose of this project was to implement a system
which permits artists to upload and share their
Martin creations with other users. Artists can come and see
Supervisor: other artists' work, share their impressions and bring
Gavin Russell their contribution to the creations by suggesting files to
the creator.

7
A New Implementation of SAL
SAL is a very small but powerful dynamically-typed
lazy functional programming language. It was
designed and implemented by the project supervisor,
and its main purpose is to reveal the essence of
functional programming in a simplified setting. Its
current implementation is written in Lua (www.lua.org),
and takes the form of an interpreter, which firstly
transforms the SAL program into a tree-like data
structure and then evaluates the program by
traversing this structure. The goal of this project is to
Casey, Kevin create a new implementation of SAL, which will
Supervisor: translate SAL source code into a file of special-
Dr. Joseph Manning purpose basic instructions, which can subsequently be
run on a corresponding special-purpose virtual
machine.
This is a challenging project, which will require deep
thought, excellent programming skills, and an
eagerness and ability to gain expertise in both
functional programming and compilation techniques;
for the latter, taking modules CS4001 and CS4150 will
be very helpful. For the right student, however, the
project should prove to be quite fascinating, and will
certainly teach some important core ideas that lie at
the heart of Computer Science.
Assignment Management System
Chen, Ying This project involves the design and implementation of
Supervisor: an integrated environment to handle all aspects of the
Dr. Kieran Herley submission, testing, marking, annotation and return of
student programming assignments.
Recursion VisualisationTool
This project involves the design and implementation of
an integrated environment for the execution and
Collins, Ciaran
visualisation of simple recursive programs. The tool is
Supervisor:
intended as a teaching aid to assist novice
Dr. Kieran Herley
programmers master recursion by allowing them to
step through the program execution step by step and
visualise the progress of the computation at each step.

Condon, John Whats The Next Class Move?


An Android application to give time, location and
Kieran directions to the next scheduled lecture, which
Supervisor: interfaces with the college timetable, room codes and
Dr. James Doherty basic mapping.

8
Curran,
Survey Tool
Stephan Integrated environment for the creation and delivery of
Supervisor: psychology surveys.
Dr. Kieran Herley
Curtin, Eoin Organ Donor Management System
Supervisor:
Information management system for potential
Dr. Colin
organ donors.
McCormack
Daly, Eric Active Suspension for Lego Robot
Supervisor: Evaluate active suspension implementations using a
Dr. James Doherty Lego Robot.
Secure Remote Viewing of EEG Data
The Babylink project encompasses a web app for the
remote viewing and diagnosis of
Electroencephalogram (EEG). The application is
currently unsecured and so the key here is to ensure
Deng, Siyu that data cannot be maliciously interfered with by a
Supervisor: third party. This will require the encryption of data
Ruairi OReilly being transferred from acquisition point to the server
and server to web browser as well as securing the
web app itself. This will involve an implementation
end-to-end encryption for all data transfer, perform a
series of security audits and resolve any resulting
issues.
Android App for Accessing Tournament
Information
The idea is to create a mobile Android application
which allows the user to view results and upcoming
Fanning, Mark fixtures at Ultimate Frisbee tournaments, in Ireland.
Supervisor: This will involve using the Google App Inventor and
Dr. James Doherty the Google App Engine. App Engine allows an
application to be hosted on Google cloud computing
infrastructure. A RESTful API, will be used to create,
read, update and delete the fixtures. This project will
involve some Java programming.
EasyQuestion - Enabling Real-time Two-
Fedosejev, way Communication Between Students
Artemij and Lecturer
Supervisor: A web site enabling students to anonymously send
Dr. Dan Grigoras short questions to the lecturer, and the lecturer to read
anonymous questions from the class while lecture is in
progress. Lecturer receives questions from students

9
and answers them orally, addressing answer to the
whole group, rather than to individual student.
Questions are collected in a list view, which is updated
immediately if a new question is received. The web
site solves a very common problem in the learning
process - in educational environment: one-way
communication between presenter and attendees.
UCC Information Assistant System(UIAS)
app on IPhone
This project is to develop a UCC information system
Feng, Xin on IPhone platform. UIAS can help students list out
Supervisor: the timetable for their course (time, room, and
Dr. John Herbert professor) and new events for CS students (like IBM
presentation) and share pictures which they like
online. It is like a social network. It would run on
Iphone and access the database of web by API.
Analysis and Display of Biomedical
Information
The use of wireless sensors in a Body Area Network
(BAN) to monitor patient vital signs is becoming an
increasingly viable and important medical aid. A BAN
developed at the Tyndall Institute has wireless ECG,
oximeter, and position in space sensors, and provides
a basis for low-intrusion real-time monitoring. While
the use of this technology provides novel monitoring
capabilities, it also encounters several problems. A
major problem is that the user may be overwhelmed
by the avalanche of data from the sensors, and may
Fitzpatrick, find that it is impossible to make effective use of the
Samuel David information. This project addresses this need, and
Supervisor: develops an architecture for analysing and displaying
Dr. John Herbert biomedical data collected from a wireless BAN. The
goal is to allow the medical professional to obtain high-
level, high-quality information from a multitude of low-
level data points. A starting point might be the
presentation of basic summaries of vital signs, such as
average, maximum and minimum heart beats per
minute (BPM). The more advanced analysis of the
data would have some basic rules on what situations
to highlight, such as a change of heart rate by more
than 50% within a 5 minute interval. Initial References
[1] Hanson, M.A., Powell Jr., H.C., Barth, A.T.,
Ringgenberg, K., Calhoun, B.H., Aylor, J.H., Lach, J.
Body area sensor networks: Challenges and
10
opportunities , Computer, 42 (1), pp. 58-65. (2009) [2]
Tufail, F., Islam, M.H. Wearable wireless body area
networks , Proceedings International Conference on
Information Management and Engineering (ICIME
2009), pp. 656-660. (2009)
ProPaGate - Professional Page Garnering
and Transmission Environment
This project was suggested by a colleague in another
department and involves designing and developing an
Gaynor, Paul online collaborative learning repository which allows
uploading, tagging, searching, rapid thumbnail
Muiris
browsing, selection, modification, compilation and
Supervisor:
recompilation into learning (and test) packages
Dr. James Doherty
targeted for a specific audience in terms of topic,
treatment and level. Clearly, it will involve considerable
design effort, careful choice of platform and approach,
followed by substantial programming / integration
effort.
Interactive Computational Geometry
Computational Geometry tackles the problem of
extracting various characteristics from sets of
geometric data. For example, given the coordinates of
a set of points in the plane, find the closest pair of
points, the farthest pair of points, the smallest circle
enclosing the points, or the smallest polygon enclosing
the points. Since the number of points may be very
Guo, Haodong large, efficient algorithms for solving such problems
are crucial.
Supervisor:
The goal of this project is to design and implement a
Dr. Joseph Manning
system to support the interactive creation, deletion,
dragging, and display of 2-D points, together with a
facility to extract and display several of their
characteristics, including those mentioned above.
This project will require good programming and
algorithmic skills, along with an eagerness and ability
to independently study the basic concepts and
algorithms of computational geometry and 2-D
computer graphics.
Android App for AR Tour of Irish Tourist
Huang, Fuguo Site (Shandon area of Cork) - Including
Supervisor: Integrated Video
Adrian ORiordan This project involves the building of a AR (Augmented
Reality) app for the Android mobile platform. AR

11
enables physical reality to be augmented by computer-
generated information in real-time. AR apps can use
(fiduciary) markers or other information such as GPS
data. Various toolkits exist such as Layar, Wikitude,
NyARToolkit, mixare, Locatory, and OpenGamaray.
One of these should be used to build the application.
The Shannon area in Cork is the chosen tourist site
and contains various historic building. Integrated video
and street views are incorporated in the app.
DGB5. Planet Wars Meets AI
Last Autumn, Google ran an AI Challenge. The goal
was to develop a bot to play Planet Wars against bots
Hurley, Barry submitted by other competitors. Planet Wars is a
domination game that is based on a game called
John Galcon. Although the competition itself ended last
Supervisor: November, we now run our own Planet Wars server,
Dr. Derek Bridge enabling us to try out new bots against some of the
competition winners. Our new bots use Artificial
Intelligence techniques to (a) plan ahead, and (b)
anticipate the likely moves of their competitors.
Jaczewski,
iPhone App: See and Solve Sudoko
Lukasz The application uses the iPhone camera to scan a
Supervisor: puzzle and then solves it.
Dr. John Vaughan
Akheilos
Seaports are characterised by high traffic volumes, a
constant variation in vessel speeds and dimensions
and by close proximity traffic. Therefore a high level of
Jakobus, situation awareness on behalf of VTS operators is
Benjamin critical to port safety. By considering the most
Supervisor: prevalent causation of accidents, human error, this
Dr. Sabin Tabirca project aims to provide a stepping stone for further
research into improvements for shore-based marine
traffic systems through Akheilos, a prototype (on-
shore) VTS system capable of realistic multi-
demension data encoding.
Reactive Gameplay
Johnston, As a user plays through this platformer, the game shall
Michael evaluate their performance based on a number of
Supervisor: factors. The primary performance gauges would be
Dr. James Doherty damage taken and enemies dispatched. The number,
possibly type and toughness of enemies would be
adjusted, becoming progressively harder for a skilled

12
player and easier for an unskilled player. If a player
stays too long in a single area, a small number of extra
enemies would be dispatched from behind to
discourage camping for pickups like health.
Kaar, Samuel
Android FEPL
Edward FEPL is an Android application for interacting with the
Supervisor: English Premier League Fantasy Football game
Dr. Colin (fantasy.premierleague.com)
McCormack
Musical Chord Annotation
Linehan, Donal A mashup website using an array of different online
Supervisor: resources to help users edit and notate lyrics with
Dr. John Herbert chords. Technologies used will include javascript, php
and xhtml.
Li, Bing Language Training School System
Supervisor:
To provide assistance for staff, students and potential
Dr. Colin
students of a language training school.
McCormack
Decision Support System in a Serious
Liu, Ting
Supervisor:
Game
David Murphy Development of a DSS in a Serious Game. More
information on application.
Comparing SAT Encodings of Constraint
Problems
Boolean Satisfiability (SAT) models problems using
Boolean variables and propositional logic clauses. Its
simplicity makes it applicable to many problems from
industry and mathematics, and has enabled the
creation of very efficient solvers which can be
Luo, Minghao downloaded free from the Web. There are several
Supervisor: ways of modelling (encoding) a problem as SAT. In
Dr. Steve Prestwich this project we will choose some constraint satisfaction
problems, encode them in different ways (some
standard and some little-known), and compare their
effectiveness using at least one solver. This project
would suit a student who is interested in artificial
intelligence. Little mathematical knowledge is needed
but a logical mind and reasonable programming skills
are important.
Mammeri, Yasin Reinforcement Learning for Elevator
Supervisor: Scheduling
Dr. Steve Prestwich In this project we will apply Distributed Reinforcement
13
Learning techniques to the well-known problem of
elevator dispatching. This has been done before using
a team of agents, one per elevator, each applying its
own learning algorithm and acting as part of the
environment of the other agents. Neural networks
were used to handle the large number of possible
states. We will define states differently to avoid the
need for neural networks and test the result.
Marah, Jason
Video Game
Paul Development of a two-player game based on the
Supervisor: traditional 2D fighter genre with sprites rendered in 3D.
Gavin Russell
DGB3. OmNomNom: A Meta-Search
Engine for Recipes
Numerous Web sites store numerous cooking recipes,
and offer generally quite rudimentary keyword-based
Mc Carthy, search facilities to enable end-users to find recipes
David Shaun based on ingredients. In this project, we have
Supervisor: developed a meta-search engine, which fires off the
Dr. Derek Bridge end-users query to several of these Web sites. It
merges the results that come back using a relevance
heuristic that we have developed. We can also handle
dietary restrictions that the user specifies, e.g., for a
vegetarian recipe, or one without beef.
DGB11. Evolving the Web of Data
This project is about the idea of Linked Data on the
Semantic Web. If you are publishing a data set on the
Web as Linked Data, then you need, obviously
enough, to link it to other data that is already on the
Web of Data. In other words, you need tools for link
discovery. If, for example, two URIs represent the
Meaney, John same resource, e.g. two representations of the actor
Colin Firth in two different movie databases, then you
Paul Laurence want to put a sameAs link between them. This
Supervisor: particular form of link discovery, i.e., working out when
Dr. Derek Bridge two URIs refer to the same resource, is sometimes
called entity resolution. Among many contributions to
this research is SILK, which is a framework for link
discovery. Using SILK, you can specify what types of
link you want to discover, the data sets to be linked,
and the conditions that must be satisfied for two items
to be linked. But, this requires a lot of manual
configuration and also a lot of trial-and-error, where

14
you repeatedly adjust the configuration until the links
that the tools proposes seem to be correct ones. In
this project we have automated SILK configuration
using a genetic programming technique.
A Browser Side Extension for
Accelerating Web Tracking
Current popular web browsers fetch the entire web
page from a server in a greedy fashion. This simple
web-fetching mechanism is inappropriate as they
unnecessarily waste precious network bandwidth and
ultimately this can cause congestion in a capacity
Meng, Zeqian limited network. To make the problem even worse,
Supervisor: modern web pages are becoming more and more
Dr. Paul Davern resource hungry. For example, the main page of
cnn.com is approximately three times larger than the
height of the client area, i.e., web browser screen in
pixel. We can denote this kind of problem as the
screen contention problem. The purpose of this project
will be to enhance defacto standard browser with
content prioritization and intelligent object fetching
mechanism.
Reinforcement Learning for Robot
Navigation
Reinforcement learning is a technique from Artificial
Intelligence that has been applied to many problems,
including learning to play board games and training
robots to drive. In this project you will use a standard
Mo, Kai reinforcement learning algorithm (TD, Q-learning or
Supervisor: SARSA) to train a robot to find its way through an
Dr. Steve Prestwich artificial world, maximising its chances of arriving
unharmed while battling winds, minefields, monsters,
and any other peril you can think up. You will also
implement a GUI to illustrate the learning process.
This project would suit a student who is interested in
artificial intelligence. Little mathematical knowledge is
needed but you will need a logical mind.
Restaurant Management System
Moloney, Cillian This project involves the design and implementation of
restaurant management. This restaurant management
Padraig system will help the running and organisation of a
Supervisor: restaurant both before and during service. The system
Dr. Ken Brown will in-corporate features such as stock monitoring,
table planning, handling of reservation, daily menu

15
selection. The system will allow staff member to send
a customers order and messages to the kitchen. The
system will alert staff of stock level throughout service.
Morrissey, A Secure Multi-tenant Application
Jamie Michael Framework
Supervisor: Develop a secure multi-tenant application for a
Dr. Simon N. Foley company.

Niu, Nichen Hospital Information System


The project is a hospital website which helps patients
Supervisor:
to make appointments and communicate with doctors
H. Sorensen
online.
DGB1. Ant Algorithms for Clustering
When ants forage for food, they leave a trail of
pheromone (chemical). Other ants detect these trails
and, on occasion, follow them. These ants, in their
turn, are also secreting pheromone, thus reinforcing
the trails. The stronger a trail, the more likely it is that
other ants will follow it. Thus we have a positive
feedback loop. From this, some surprising collective
behaviour can emerge. For example, an ant colony
can establish the shortest paths from its nest to
sources of food. Computer Scientists have been
inspired by these observations from Nature. They are
building systems in which waves of simulated ants
traverse data structures, choosing paths that are
O Duinn, influenced by trails of simulated pheromone. These
systems can be used to find good solutions to ordering
Padraig Iarlaith problems, such as the Travelling Salesperson Problem
Supervisor: (TSP), where the task is to find an order in which to
Dr. Derek Bridge visit a set of towns. But in this project we will uses
these systems for data clustering. Clustering assigns a
set of data points into subsets of similar data points.
For example, we might cluster Web pages that have
similar content, so that each cluster contains
documents that have related topics. The goal is to
maximize inter-cluster distance and minimize intra-
cluster distance. The research literature contains many
heuristic algorithms for doing this, the best-known
being the k-means algorithm. In this project, we have
been working on a novel way to formulate data
clustering as an ant algorithm. Our Java
implementation has been integrated into Weka, which
is an open source framework for machine learning and
data mining software.
16
Java Game Programming
Using the Java language and an existing freely
available network gaming engine, implement some
games that encourage students to study important
algorithms. For example, given a description of the
OHanlon, John quicksort algorithm, students may be asked to predict
Daniel the next step in the algorithm. If correct, they get
Supervisor: credits. For such type of game, the objective would be
Dr. Marc van to beat the highest previous score. Another possibility
Dongen is that students have to finish a simulation of the
algorithm within a given timeout. There may be
different levels with different timeouts. Here the
objective may be completing more difficult levels. And
so on. Other possibilities are adventure-based games
which involve questions about java programming.
ORiordan, Alan Fuzzy Bomber
Supervisor:
A bomber-man style game with an AI adversary
Dr. Colin
controlled using fuzzy state machines.
McCormack
Digital Notary Plugin for Moodle
The goal of this project is to develop a digital notary
service plugin for Moodle. The plugin is intended to
notarize moodle resources such as web-pages,
assignment submissions and student grades. It should
OSullivan, provide secure dispute resolution. The project would
suit a student with good web-programming skills (php,
Megan etc.) and interested in writing compliant code that
Supervisor: interfaces with an existing codebase (Moodle).
Dr. Simon N. Foley Resources [1] Stuart Haber and W. Scott Stornetta,
How to Time-Stamp a Digital Document Journal of
Cryptology, 1991. local copy:
http://www.cs.ucc.ie/~simon/haber91how.pdf [2]
Moodle Developer Documentation at
http://docs.moodle.org/en/Development
Web-based Home Heating Control
Protocol (WHHCP)
The goal of this project is to design and implement a
Pang, Lu Web-based interface for controlling and monitoring a
Supervisor: home heating system. A home heating control system
Adrian ORiordan is a system which manages, commands, directs or
regulates the behaviour of a home heating system.
Historically, this is done by a mechanical or electrical
device called a thermostat. A sample implementation

17
with a simple simulator should be built for proof of
concept - there is no requirement to connect to a real
heating system. A rich client graphical front-end with
visual icons should be used for showing temperatures,
time periods and zones. The implementation should
employ suitable Web technologies such as Javascript
and PHP; the graphical interface should be developed
in HTML 5.
A Visual Programming Kit for Mathematics
and Graphics
The goal of this project is to design and implement a
programming kit which can construct functions that
take zero or more parameters and return a result. The
functions will be able work with numbers, boolean
values, lists and graphical objects. Instead of typing
code, a user will be able to construct functions by
dragging and dropping from a function library. This
library will include graphical functions to draw shapes
Roberti, Sean such as circles and rectangles, functions to manipulate
Jeremiah those shapes by moving, rotating and resizing them,
Supervisor: and functions to work with colours. It will also contain
Dr. Joseph Manning mathematical functions to perform arithmetic,
trigonometric operations, boolean operations and list
operations. It will be possible to generate graphical
animations using a time variable.
The programming kit will be suitable for a wide range
of different applications. For example, one could use it
to construct mathematical formulae, draw diagrams
and statistical graphs, or create simple graphical
animations such as simulated projectiles. The program
will have facilities to save and import libraries of
functions.
Android App for AR Tour of Irish Tourist
Site (Spike Island) - Including 3D
Modelling
This project involves the building of an AR
Saklokham, (Augmented Reality) app for the Android mobile
Jean Philippe platform. AR enables physical reality to be augmented
Supervisor: by computer-generated information in real-time. AR
Adrian ORiordan apps can use (fiduciary) markers or other information
such as GPS data. Various toolkits exist such as
Layar, Wikitude, NyARToolkit, mixare, Locatory, and
OpenGamaray. One of these should be used to build
the application. Spike Island and its fort located in
18
Cork Harbour is the tourist site and historic building.
3D modelling of the fort is included in the app.
Intruder Alarm for a Limited Access Facility
Intrusion detection using webcams can be
implemented by detecting motion in an area where, or
at a time when, no motion should occur. However, in a
facility with limited access, such as a computer server
room, authorised personnel will cause motion but
should not raise an alarm. In this project you will work
with the feature tracking elements of the OpenCV (a
Sheehan, Sean computer vision) library to identify motion and extract
facial information from a video frame. If the person is
Brendan recognised their arrival should be logged, however if
Supervisor: the person is not recognised an alarm should be
Dr. John OMullane raised. As the system deals with a limited number of
authorised persons, a relatively simple recognition
scheme can be used for identification. Suggested
Reading: OpenCV
http://opencv.willowgarage.com/wiki/ EigenFaces
http://www.face-rec.org/algorithms/PCA/jcn.pdf
http://www.vision.jhu.edu/teaching/vision08/Handouts/
case_study_pca1.pdf This project would suit a student
with strong programming skills in C/C++.
Strautina, Inese VR Project 1
Supervisor: VR Project 1 - large format 3D display and realtime
David Murphy gesture based interaction.
Reinforcement Learning for Connect-4
Reinforcement learning is a technique from Artificial
Intelligence that has been applied to many problems,
including several board games. Since the early 1990s
this has led to programs that play some games at
grandmaster level. In this project you will write a
Tong, Allan
program that learns how to play Connect-4 on a small
Supervisor:
board. It will use a reinforcement learning algorithm
Dr. Steve Prestwich
(TD, Q-learning or SARSA) to improve its skill by
playing against itself over thousands of games. You
will also implement a GUI so that humans can play
against it. This project would suit a student who is
interested in artificial intelligence. Little mathematical
knowledge is needed but a logical mind is essential.
Twohig, Cian Publish-Subscribe Architecture for
Supervisor: Wireless Sensor Networks
Dr. John Herbert Publish-subscribe is an architecture where senders

19
(publishers) of information do not send the information
directly to specific receivers (subscribers), but rather
publish information topics to which receivers may
subscribe. This architecture ensures a decoupling of
publishers and subscribers and this provides a more
dynamic scalable system. This model is suitable for
many applications from large-scale information
systems (such as news feeds or financial information
servers) to dynamic wireless sensor networks. This
project focuses on the latter application area, and the
goal is the evaluation of publish-subscribe techniques
for wireless sensor networks. This area is already of
interest to researchers [1, 2, 3], and a previous MSc
project [4] used some similar techniques for a Smart
Building application. Another possibility is to build on a
new industrial standard in the area, DDS. (DDS (Data-
Distribution Service for Real-Time Systems) is the
first open international middleware standard directly
addressing publish-subscribe communications for real-
time and embedded systems. [5]) Initial References
[1] Duc A. Tran and T. Nguyen. Publish/Subscribe
Techniques in Sensor Networks. Book Chapter in an
Encyclopedia of Next-Generation Mobile Networks
and Ubiquitous Computing (to be published in 2009,
IGI Global, available on-line) [2] Souto, E.,
Guimares, G., Vasconcelos, G., Vieira, M., Rosa, N.,
Ferraz, C., and Kelner, J. 2005. Mires: a
publish/subscribe middleware for sensor networks.
Personal Ubiquitous Comput. 10, 1 (Dec. 2005), [3]
Albano, M. and Chessa, S. Publish/subscribe in
wireless sensor networks based on data centric
storage. In Proceedings of the 1st international
Workshop on Context-Aware Middleware and
Services: Affiliated with the 4th international
Conference on Communication System Software and
Middleware (COMSWARE 2009) (Dublin, Ireland,
June 16 - 16, 2009 [4] Herbert J., ODonoghue, J. and
Xiang, C.: A Context-Sensitive Rule-based
Architecture for Smart Buildings, IEEE International
Symposium on Smart Homes 2008 (SH 08), 2008. [5]
http://portals.omg.org/dds
Walsh, Shane Value Squashing
Supervisor: The CSP paradigm is useful tool for stating,
Dr. Marc van representing, and solving many problems originating
Dongen from academia and the real world. Basically, a CSP is
20
a collection of variables, each having its own domain,
and a collection of constraints which limit the possible
assignments to the variables in the constraint. A CSP
is called satisfiable if it has a solution. A value, v, is
called squashable if for any solution of the CSP,
substitution w for v is also a solution. Clearly, removing
squashable values does not affect the satisfiability of
the CSP. In this project you will read (some of) the
literature on squashing functions and implement a pre-
processor for CSPs that removes squashable values.
The programming language for this project will be
Java. Interested students should be good
programmers and should feel confident about reading
research papers.
Wang, Zhanhui
Supervisor:
Flash Card Sending System
Dr. John OMullane Using Flash (ActionScript 3.0), PHP to build an
interactive, animated greeting card sending system.

iPhone Version Scrum


This project is to develop a scrum system on iPhone +
server(PHP or JSP)+MySQL. Scrum is an iterative,
incremental methodology for project management.
Traditional scrum needs to work on a task board and
Wang, Zhuo
any team member who wants see how the project is
Supervisor:
going must go to the task board and look at the item.
Dr. Kieran Herley
iphone scrum is very helpful for team member who just
need an iphone version. Scrum can check and change
the project at anytime, anywhere. The other members
app will be updated automatically.

Project Open Day Flyers and Lab Layout


Management
Web based system to 1 - Allow administrators allocate
lab locations with dedicated machines with specific
requirements; 2 - Allow visitors view (marketing
Wei, Xing oriented!?) project descriptions and locations online to
Supervisor: plan their visit. 3 - Generate booklet/pamphlet of
Dr. James Doherty information in 2 above. Constraints: 1 - Information
may be taken from and corroborated with existing
project site and classlists. 2 - System must be
developed using Python and web2py. Preference
given to development.

21
Statistical Machine Translation of the
Computer Science Department Website
Using the latest tools and methods to compile,
Whelan, configure, train and tune language and translation
models using statistical machine translation. This
Anthony
project encompasses utilising several tools including
Supervisor:
moses, giza++, the KenLM suite as well as coding in
Dr. Thomas Jansen
perl and bash to manipulate the machine learning of
these models. It will also incorporate an html parser to
strip the site of translatable content then rebuilding as
a translated webpage.
Remote Viewing IPhone App
Develop on iPhone app consisting of a limited set of
functionality contained within an existing web app for
streaming EEG data. The app should include the
ability to connect to various hosts, secure user
validation, display streaming data in near real time,
allow previously recorded data to be reviewed. The
Xia, Yuwei web app has been developed in Actionscript but the
Supervisor: existing code repository will prove beneficial as the
Ruairi OReilly majority of major problems have already been solved
for the applications functionality, albeit in a different
language. The potential developer will be required to
get up to speed in IPhone application development
and become familiarised with an existing code
repository. Fortunately, there is currently a PhD
student and post-doc working with this repository who
will be able to provide assistance.
HL7 Compliant Medical Informatics
Application for the iPad
Development of an HL7 compliant Medical Informatics
Yu, Zhenjun application on the iPad. The setting for this application
Supervisor: and system is in a hospital ward that has 802.11n wifi
David Murphy connectivity. The application will connect securely to
an existing PACs server and enable the retrieval,
viewing, editing and committal of data to an existing
patients record. http://www.hl7.org
http://www.ncbi.nlm.nih.gov/pmc/articles/PMC1718393/
Services Management in Cloud
Zeng, Wei Computing
Supervisor: Cloud computing is a recent distributed architecture
Dr. Dan Grigoras model that involves clients requesting services running
and managed in a centralized fashion. Services are

22
shared, can be scalable and cost-effective. The project
will include a study of this model, different
implementation strategies and the chain of
communication between the client and the server.
Outbound SAP to Spring Integration POC
This is an industrial project from EMC. The project is
Zhang, Jiaying dealing with multiple technology such as
Supervisor: J2EE,JMS,Data Grid,SAP,SOA and Spring Integration.
Dr. Dan Grigoras Implementing this project will help integrate the
communication with the Finance Team dealing with
invoice data.
CSP Editor
The CSP paradigm is a useful tool for stating,
representing, and solving many problems originating
from academia and the real world. Basically, a CSP is
a collection of variables, each having its own domain,
Zhu, and a collection of constraints which limit the possible
Rongsheng assignments to the variables in the constraint. In this
Supervisor: project you will implement a system that will parse a
Dr. Marc van CSP specification and allow a user to edit the CSP
Dongen using a user-friendly GUI. It is important that the GUI
gives much information/intuition about the CSP. The
programming language for this project is Java.
Interested students should be good programmers.
Also, they should have an interest for AI and
visualisation.
Mix & Maybe Match: Market & Information
Zhuang, Danli Exchange
Supervisor: Web forum for posting information about products,
Dr. James Doherty services, needs for a community, with a specific
application to UCC student needs, including second-
hand books, accommodation, grinds, etc.

23

Potrebbero piacerti anche