Final Year Projects - 2002 All links
relating to further specifications of the projects are only available
internally
The following is a list of URL's for the final
year projects 2002. In each case the students were asked to prepare
a functional specification (in HTML), and create links from this
to the documentation, source code etc.
Note: The code and documentation
collected here represent work done as part of our undergraduate
course, and are intended to be used as a reference for
future students. The school makes no claim as to their
completeness or suitability for a specific purpose,
and users are advised to exercise extreme caution when
unpacking and running them. As with any collection of
third-party code, we strongly recommend that you apply
suitable safeguards against viruses or other unexpected
behaviour.
This project is to construct a software tool, which will allow
a person to easily organise their digital photos using a web front
end. All photos uploaded into the system, which would be done
using Bluetooth technology, have a date/time stamp, a GPS location,
direction and an optional soundbyte which is to be assumed will
be available with a "camera of the future". This is then stored
in the database to be viewed later. The photos can be organised
by date/time, by keyword (using word-stemming) or by location
(organised by nearest town). Localised searches can be done by
inputting data. The web site will be available to be used by anyone
once they have completed registration, which includes security
measures to pass across information such as credit card numbers,
and checks for valid information. This is a web-based multi-media
project being run on a JRun web-server with Apache with SSL plugged
in. The coding is done using JSPs and JavaBeans.
The DCU Postgraduates developed a Web-based digital video system
called Físchlár. (http://www.cdvp.dcu.ie/index.html) At present
a user can pre-set the recording of TV broadcast programmes and
can choose from a set of different browser interfaces which allow
navigation through the recorded programmes. There is a hard-coded
version of Fischlar, which runs on Internet Explorer on a Compaq
iPAQ with a wireless LAN connection. This project involves extracting
data for a set of programs stored a sample SQL-Server database
that reflects the production Fischlar system. This data will then
be re-formatted into XML format using ASP. This will involve defining
the DTD (Document Type Definition) for Físchlár.The XML Page will
then be parser with an XSL sheet using MSXMLDOM. The main part
of the project will be developing an XML translator to visualise
the iPAQ interface in accordance with the existing hard-coded
HTML interface. This translator will be developed using XML Schema's.
The project is really to see how to implement our Fischlar iPAQ
interface using XML translations, specifically using XML Schemas.
This idea was suggested by Professor Alan Smeaton.
Our project was to develop a personalised SMS email notification
and summarization tool to alert users about incoming emails on
certain topics only, and summarize the text of the emails using
a text summarization tool. In effect, users will receive SMS messages
when their mailboxes are sent emails which flag the system to
summarize the incoming email and send an abbreviated form to a
mobile device. The project incorporates a personalised website
enabling the user to specify the mail server along with the rules
based upon which, the SMS messages will be dispatched, e.g. restriction
by subject, cc, time, date etc. The user will also be able to
view the full details along with the abbreviation of any email
summarized and sent to their phone. A java backend will check
the mail servers of all users and proccess any message which flags
the system, storing it, summarising it and sending it out as a
text message. The technologies used include Internet Information
Server(IIS), Java, Microsoft SQL Server, Active Server Pages(ASP),
JDBC. Project Area: Ecommerce. OS: Windows
This project has a web interface to allow (restricted) users
to enter a "profile" of key phrases. Online news resources such
as the RTE.IE or IRELAND.COM websites are polled, daily, examining
their new material (today's Irish Times for example) to detect
"stories" which contain these key phrases, and such alerts are
notified back to the user via email or via a profile web page,
depending on that users request. For example, the communications
and marketing office in DCU are always interested to know when
and where DCU or Dublin City University is mentioned in the newspapers
and this project generates a web page, daily, with links back
to the specific news stories where DCU is mentioned and then e-mails
the communications and marketing department to notify them. The
project validates all queries by removing stopwords and stemming
the words and using the term frequency algorithm. By using the
TF algorithm, we show results in the order that they are likely
to be most relevant by counting the amount of times the key phrase
occurs. We created a spider to crawl through specified web sites
(eg Ireland.com) following links and downloading the contents
of these pages. The spider is run daily using a batch file, which
then calls a script that matches the users' keywords and phrases
against the daily downloaded files. This project also includes
an archive of up to seven days of matched results. This information
can then be accessed by all valid users. The project was created
through UNIX using PERL and CGI scripts and HTML.
Seperating video into shots and scenes is a huge benefit to
navigating content and is used effectively in Físchlár, a web-based
system in DCU which demonstrate recording and playback of television
programmes as digital video. Físchlár does it's analysis by determining
boundaries between camera shots and selecting shot & scene keyframes.
This a computationally costly exercise and my project parallelises
it so that (a) it runs faster and (b) it does not need a Sun Enterprise
server. A portfolio of methods is used to detect a shot boundary
in a piece of video: colour moment & histogram differences, edge
detection, and MPEG macroblock analysis. Using the school's 23
node Beowulf Linux cluster which I maintain and have previously
helped build, my project parallelises these methods so that the
analysis runs up to 60% faster through ordinary message passing
and temporal data parallelisation. This project was suggested
by and is a contribution to the Centre for Digital Video Processing
(CDVP) in DCU for their work on video analysis, and is also an
effective demonstration of the favourable price/performance ratio
of contemporary cluster computing using Beowulf & Linux. Category:
Multimedia Platform: Linux Language: C/C++, MPI
My project involves taking several minutes worth of Físchlár
video footage which has been segmented into shots, and then analysing
and comparing these shots against one another for colour similarity.
A shot is any continuous video stream taken by the same camera
without stoppage and usually lasts several seconds. Ten minutes
of video footage would contain several scenes each made up of
approximately 15 shots which are themselves made up of several
hundred frames (still images). Any frame can be analysed to compute
a colour histogram which shows the proportion of pixels of each
colour within that frame. Sampling at a rate of 2 frames/second,
I hope to create a 3D colour histogram model to represent each
shot of video footage by combining together a series of histograms
(an 8 second shot will have a 3D colour model combining 16 histograms).
This 3D representation will be stored for each shot. Shots can
then be compared against each other using this 3D model to hopefully
find the next closest similar shot. I expect to implement this
idea using a combination of Java and Microsoft Excel graphs.
My project is a hand written digit classifier, The aim of the
project to to create an application to recognise various hand-written
characters, I intend to create this application by having a Neural
Network, written in java. I intend to try to develop two different
ways to do this, 1 a conventional multilayer feedforward neural
network, using backpropagation and the sigmoid activation function.
2. To write a network using a technique called 'Maximum Entropy',
What maximum entropy will do is try to make the network have as
simple configuration as possible, ( as my other network could
have as many as 6,000 connections ). Languages:Java Area:AI OS:
Windows NT
We decided to create a graphics generator for musical input
but we wanted to avoid doing this using fractals as this approach
has often been used before. Instead we have decided to render
animated graphics that will have some visible change in relation
to the musical imput. The program takes in a musical input in
the form of a .WAV file. This file is then processed using Digital
Signal Processing to calculate the frequency and amplitude of
the file at particular time intervals. This output is the input
to a POV-ray file which renders specific graphics to match the
frequency and amplitude of the file. The resulting bitmaps from
the POV-ray file are then made into an AVI and combined with the
original .WAV file, and played on our media player. We well be
using Java and Visual Basic for the processing and multimedia
and POV-ray as the rendering tool. Area: Multimedia Languages:
Java, Visual Basic, POV_ray OS: Windows 2000, and Windows NT
Using image recognition systems to track an object in an environment
with multiple moving objects. Background: Linking object recognitions
systems with image tracking systems to follow a chosen object
in an environment with multiple moving objects. This would have
applications such as tracking (ball or players) during a football
match, or for use in lighting effects (Tracking-lights used in
theatre etc.) Initially I will use a web-cam or similar to stream
images which would then be analysed to find a certain object;
maybe a football. Later this would centre the image on the object
by tracking, using panning functions/zooming of the camera. By
the end I hope to allow for recognition of more complicated objects,
such as certain players of a football match. For the project I
would need a web-cam or similar with programmable tracking, code
would be written in C++ and/or Java, Some pattern recognition
techniques, and would be based on the Windows NT Platform.
Project Idea originally came from one of the project proposals
on the web (http://www.computing.dcu.ie/~alistair/projects.html).
It is a project based on evolution of species and interaction
of animals to each other (attack/defence). My project will be
based on basic species at first but will be designed in such a
way that it could be extended overtime to handle more complex
environments. Things such as climate, temperature, position on
the food chain and supply of food that a species eats. The function
of this project would be to provide a simulation of evolution
over various generations of species and how they evolve over generations
as the supply of their food source grows/shrinks or as their numbers
grow shrink and various other mutations over generations that
cause species to evolve. Doing this project I hope to both learn
about and demonstrate knowledge in AI and pattern matching and
ability to create a program that will itself over time evolve
and show some form of machine learning in it. Various milestones
exist in the project such as classification of species i.e. what
climate suits them best, how long they live, energy usage, etc.
The next milestone would be taking this information and getting
species them to interact with each other (hunting) and with themselves
(hunting in packs). The next milestone would be evolution of a
species over generations and increase decrease in numbers over
generations (i.e. if food source runs out, environment becomes
uninhabitable ) and movement over generations (i.e. if food source
runs out, environment becomes uninhabitable but there is a more
suitable living environment) The requirements of this project
are just a P.C. And c++ compiler and/or Java compiler. There have
been projects in previous years based on evolution but it is a
large area so newer projects could still differ greatly from previous
years ones. Also there are various websources with games based
loosely around it such as E-Den (http://www.geocities.com/ResearchTriangle/Forum/3830/edenoverview.html)
x
The IMAP mail protocol is vastly underused, and it's a shame,
considering the advantages it has over the more predominant POP
protocol. One of the reasons for this is its'complexity, people
prefer to develop clients and server for the very basic POP protocol.
We aim to simplify development of software for this type of mail
system by improving on the protocol. In our protocol, we intend
to use XML to store mail on the server, and all communication
will be in XML. The use of XML, due to the large number of processing
APIs for popular programming languages, will allow developers
to write clients and servers a lot quicker. Our server and client
will be written in java, so we will be developing an API that
can be used to simplify things further for java programmers. Other
benefits of using XML include the possibility of easy development
of other applications such as administration and cataloguing of
mailing lists, among others. The server and client will also be
using inbuilt SSL connections by default. Most email sent over
a network/the internet is in clear text, anybody on the mail's
route can intercept the messages. Most servers that support secure
connections do so by means of tunnelling through SSH, or other
external means. This shouldn't have to be the norm, hence we are
including SSL connections by default in our software.
My project is a fully secure peer to peer web conferencing utility.
It allows sharing of all types of files, peer to peer broadcast
chat (multi user), peer to peer private chat (one to one) and
also group collaboration via a peer to peer canvas. The system
is implemented using a combination of public key cryptography
and des encryption. At no stage are the public keys stored on
the server, if a user wants a file for example he enters into
a protocol with user B which involves generating a session key
with the other user encrypting using Triple DES or AES and abolishing
the session key. Each users private key will be stored securely
on his / her machine. Only the application will be able to access
the private key on the users machine as the user must put in a
password to logon this password is used as the basis for unlocking
the private key at client end. This application has very important
uses in government or highly sensitive business areas where security
is a top priority, but care was taken to balance this with good
usability and design.
The term Bluetooth refers to an open specification for a technology
to enable short-range wireless voice and data communications anywhere
in the world using hardware, software and interoperability requirements.
It is a new and exciting emerging technology, being developed
by the Bluetooth SIG comprised of some 150+ companies. Bluetooth,
which is both inexpensive and energy-efficient, and uses license-free
radio bands, makes it possible for practically anyone to become
an operator using this system. The number of products incorporating
Bluetooth technology is expected to reach 1.4 billion units by
the year 2005. Currently two major limitations of Bluetooth, is
that communication between devices must be direct (one to one);
and secondly that they do not support the movement of an active
terminal from one network interface device to another. However,
in due course of time, solutions for forming, multihop ad hoc,
roaming networks over Bluetooth will be needed. This project aims
to incorporate roaming, similar roaming on GSM Protocol, into
existing Bluetooth technology, i.e. The user may have a portable
device(PDA) and travel seamlessly from one bluetooth piconet to
another. Each piconet is made up of a master and up to 8 slave
devices. Slave devices communicate directly to the master. What
I propose is a routing protocol that allows a device move from
one piconet to another, thus switching the master-slave connection
that it's connected to without the user noticing the change. Firstly,
I will show at an application level that a device can communicate
through the network topology. Secondly develop and prove, at Simulation
level, a protocol to allow routing and handovers. To combine these
together I will develop a information website resource to allow
others see my progress and expand on my ideas.
The concept behind this project is to provide Web based monitoring
of an email server system. The idea is to manage a multi-server
configuration via the Web which would give a merge-view of the
servers. A Web-based viewer of a multi-server environment would
be useful in terms of monitoring throughput figures from multiple
servers and so act as a collector of performance. An accurate
picture of the whole system's performance would be presented giving
statistics for each server and for the system as a whole. If a
server is down, the monitoring tool can report it immediately,
the service provider can be alerted and measures taken to fix
the problem with the server. Analysis of where the traffic is
coming from and going to and if any bottle necks exist would allow
significant alterations to be made to improve service. This project
proposal document presents the idea for the Web management-monitoring
tool as servlet applications. Each tool will be developed as a
separate Java servlet to be run on the servers. Like applets,
the servlets will be accessed through a Web browser. Unlike applets,
the servlets will communicate with the server using the HTTPS
protocol (Secure Hypertext Transfer Protocol), thereby allowing
for encrypted communication between the client and server with
SSL (Secure Socket Layer). The development of a secure single
server view and a secure overall view of the system, as servlets,
provides for localization and enhanced security.
At the moment all students in Dublin City University have been
given a college e-mail account and this account has no expiry
date. The main reason for this is to keep graduates of D.C.U in
contact with the college and each other, after they have left.
I propose the idea of a web-front end that is dedicated to this.
Users will be able to log on to the website and will have complete
access to all the different sections. The different sections are
as follows: They will be able to access their mail from the web
site without having to log in again. log in via telnet or some
other less user-friendly approach. There will be a message board,
which will contain information about jobs, and various other topics
and a message board with messages for other users. I will facilitate
slashdot style message threading. There will also be a search
facility available, which will enable the user to search for other
users and if time allows (search over the previously posted messages
using SQL queries into a DB). For example: I want to search for
a user (Michelle, who started in D.C.U in 1997 and did Applied
Languages) I will then get back a list of results, and whether
the person has updated their information, they will be contactable.
Also the user will be able to modify his/her details which are
available to the site. Security will be dealt with with SSL. SSL,
or Secure Sockets Layer, is a technology, which allows web browsers
and web servers to communicate over a secured connection. This
means that the data being sent is encrypted by one side, transmitted,
then decrypted by the other side prior to any processing. This
is a two-way process, meaning that both the server and the browser
encrypt all traffic before sending out data. Platform Used: Windows
NT Languages Used: JAVA,JSP, SQL
The idea for our project is to be able to enter items that needed
to be researched into a list on the PDA. When you connect the
PDA to the PC a browser opens up to our metasearch engine and
the items on the list are then searched for in the engine and
their resulting pages of links is then saved to the computer.
Development Tools: Microsoft Visual C++, Conduit Development Kit
and Conduit Inspector and Configuration Tool (for the conduit),
Metrowerks Code Warrior and Palm Emulator (for the Palm Application)
and Tomcat Web Server (for the Metasearch engine). Area: Multimedia
OS: Windows 98
We propose to build our own interface (hack) between an integrated
Suunto Cobra computer and the PC. The information will then be
represented in our own dive log application on the PC. Given enough
time, we will expand this to the Palm-Pilot/Hand-Spring visor
console. The interface will be a plastic box with a few basic
electronic components inside with relevant connecting cables.
It will connect to the RS232 Comms Port on the PC and produce
a bit stream that will be decoded by a VB interface. We will represent
this data in our VB dive log application showing dive profiles
and further dive information e.g. number of dives, air pressure,
depth etc. We will develop our project using VB, which will communicate
with the Suunto Cobra, decode information entered and represent
results graphically. We think this is a good idea, as it will
have real world benefits for scuba Divers as it will show graphically
his/her ascent to the surface with decompression stops depending
on how far he/her dives. We will save money building our own hack
as they retail between Euro70 and Euro120+.
Our project is a Web Search Engine, which will incorporate three
main sections, a Web Crawler, Search Engine and Web Interface.
The web crawler traverses the WWW following links, downloading
web pages and formatting them into a fast, searchable format.
Our search engine will work over three media, giving the user
the option of document, image or email searches. We will use the
TF*IDF Term Weighting algorithm, and some of the features we will
include will be document length normalisation, stop-word removal,
and also a "cache-copy" facility. The web interface will take
in a query from a user, and display the ranked results from that
query on the web interface. Languages: Java, Servlets, HTML, SQL
Server, Tomcat Web Server. Area: MultiMedia OS: Windows NT
My final year project involves building a Search Engine index
using the document-query matching algorithm TF*IDF for internal
representation of documents which should aid fast searching. A
Web interface would have to be developed for the search engine
to improve the functionality of the project as a whole.
ToneGen is an application which generates Nokia and Motorola
ring tones for mobile phones. It allows the user to generate tones
and outputs the tones to a format which could be entered manually
into the phone or downloaded using a SMSC gateway /developer kit.
It could also support conversion of other file formats (MIDI)
to phone tunes. The tone files database will be taken from the
ceolaire music retrieval system. The user can compose a mobile
phone ring tone, listen to it, edit it, or download it to their
mobile phone. For security reasons, initially the user would have
to register to use the site. When they registered they would be
sent a password by SMS, which they must use along with their phone
number to login. Background. The project was suggested to me by
a School of Computing Postgrad, Tom Sodring. I thought that
it would be a good project to attempt, as I'm interested in using
SMS and other mobile phone technologies. What will the project
achieve? The project would be useful for mobile phone operators
such as Eircell, Esat and Meteor. The main users of this application
would be children and teenagers. Justification for attempting
this Project. I think this project will be enjoyable to work on.
I think that the project idea is extremely interesting and I am
also interested to work with SMS.
The objective of this project is to create a webcrawler and
web based search facitility for seeking out specific file types.
I have chosen to demonstrate the project using MP3 audio as the
target file type. The project will use 3 autonomous agents. 1.
At the backend of this facility will be a web crawling robot.
This agent will perform html parsing and information retrieval
and document traversal. In this process the robot automatically
traverses the Web's hypertext structure by retrieving a document,
and recursively retrieving all documents that are referenced.
Upon finding a hyperlink anchoring to an mp3 it will add the anchor
text and file location to a relational database. 2. A second robot
will be used to ensure that links still active. Any broken links
will be removed from the database. This will be executed on a
periodic basic. It is at this point that links are rated using
reinforcement learning techniques 3. A final agent will be used
request and harvest the mp3s found by the web crawler. This will
provide a feature akin to Google's cache for links to mp3s to,
which are no longer active. ID3 tags contained within the downloaded
mp3s may be used to supplement the information available for searches.
User Interface: Adhering to good design principles the presentation
layer and search facility for the dataset will be implemented
using a relational database, SQL and a server side scripting language.
The purpose of this project is to build a search engine capable
of being used universally to search a website's content. By registering
with my site it would give you the small amount of code needed
to run the search engine from where you want on your site. It
will also allow you to exclude certain folders and files from
the search. This and other options can be set on the preferences
page. The interface and some other general operations will be
coded using PHP. I came up with this idea when I was on INTRA.
The company wanted me to organise a search engine for their site.
I then generated a very basic search engine using a database to
hold all the information and a perl script for the engine. I realised
afterwards that this could be greatly improved. I have since done
some research into search engines and found out that it is possible
to store the information in a matrix which can be held in memory.
This would increase the speed of the retrieval. I will also have
to parse the files to get rid of all the html tags and stop words.
It is one thing to retrieve all the relevant documents. The next
question is how can I sort all these documents so that the most
relevant document is at the top? For this I will use the BM25
probabilistic retrieval model. I will code the search engine in
Java. I will use a list of all the documents and their relevant
URLs on the computing website to test the search engine. This project
will not have a web-crawler but it could be easily added at a
later stage. Proposed Supervisor Cathal Gurrin
The aim of our project was to make learning java easier for
beginners and also to allow easier debugging of run time errors.
The user inputs their completed code to the application. The application
allows the user to observe the execution of their program in slow
motion. As it steps through the code it animates objects and variables
being created, changes in variable values, method calls and interaction
between objects. The project was written in java and executes
as an applet. OS: Windows NT Area: Language Engineering
For my fourth year project I intend to write a D6 emulator for
the Palm Pilot. When complete the system will enable users of
the D6 educational computer to use their Palm Pilot to carry out
the functionality of the D6. (e.g. manually enter a program, examine
registers and run the program). The system front end will consist
of the basic D6 buttons and display which will enable the user
to tap the PDA screen to press the buttons and view the results
on the display. The Project will consist of 3 main areas. 1. Find
a suitable software emulator that can be used as for the 8086
processor. This software must then be altered and adapted to suit
the project. Parts that may require change are interrupts; output
to ports (display, speaker etc.) 2. Learn and understand how to
program the Palm Pilot. The development environment I intend to
use is MetroWerks CodeWarrior IDE and the Constructor for Palm
OS. I must first learn how programs are written for the Palm and
how they are compiled and downloaded to the device 3. Integrate
the work done in parts 1 & 2 above in order to develop the emulator
for the Palm Pilot.
At the moment students submit projects in the project box where
they are recorded and passed onto the relevant lecturer. As most
projects are electronic, this should be easy to automate. The
idea of this project is that a student will submit the project
via a Web page. A Java program would store the project for the
lecturer along with the date it was received. At the project due
date an email notifies the lecturer and the projects are made
available in a common directory. Each lecturer can edit the due
dates of the projects. Project idea came from lecturer Charlie
Daly. This project will allow students to submit their projects
via the web. The projects will then be zipped into a blob and
stored in a mySql database. The lecturer can then download all
projects from the database and add comments or mark projects as
they see fit. The projects will then be sent back to the database
where the student can view comments or the marks that the lecturer
has inserted. Potential users Lecturers and students in DCU Justification
for attempting project. By attempting this project, I would hope
to end the paper trail that leads into each lecturer's office
each year. It would also be advantageous to have an electronic
account of each student's project. Overview of project characteristics,
hardware and software requirements (sources). This project will
use the following Java, MySql, Tomcat, Unix, HTML.
My project is a timetable-scheduling tool primarily for the
use of the VEC schools of Ireland. Currently the software, which
is available does not utilize an optimum algorithm, resulting
in a lot of post-development work to be done by the user and most
frequently this work is done by hand. This project will focus
on creating a solution that is going to be used to create an optimum
timetable for an average VEC school. The remainder will be alterable
from a user-friendly interface. My project will be developed in
Visual Basic v6. This will interact with a Microsoft Access database,
which will hold all the information needed on the teachers, students,
classrooms and subjects. It will be running on any Windows operating
system after Win95.
My 4th Year project is a Java Application that has similar functionality
to Power Point and it's completely written in java. The project
is split into two applications, a slide editor and viewer. The
slide editor is an application, which allows the user to create
new presentation slides and modify existing ones, and the slide
viewer allows the user to playback the slideshow. The application
has the ability to process sound and media files in the presentation
slides. The presentation files are in XML format and the benefits
of this are that it makes the data much more easily to manipulate
and transmit. OS: Windows NT Area: Software Engineering Languages:
Java
For my fourth year project I plan to write a system for ca3
and ca4 Project proposals. A student will fill out a form detailing
their project idea and an overall Specification on an online form.
Then using servlets the form will be transferred to a database
where all project forms will be held. Project submission times
will be noted and if a student is late on submitting a project
they will be emailed by the system to remind them. Then when the
lecturers have their meeting to discuss each student's project
they will be displayable on a webpage, whether project ideas are
acceptable or not will be decided and each group of projects will
be displayed on a separate page. The accepted projects will be
displayed on a webpage and a supervisor will be allocated to each
student based on the type of project it is (certain keywords may
associate it with a certain lecturer). The lecturers will be able
to access a webpage summarising all accepted projects, and will
be able to view their own projects (that they will be supervising)
and to contact the students by mail links. The students' webpages
will be checked to see if they have submitted a functional spec
and the date when it was submitted.
The TBWCR will, depending on the time, reveal only that web
content that is suitable for time period the user is in when they
access the web site. The TBWCR works with the use of special