School of Computing DCU
 
Home About Us Research People Prospective Students Current Students Alumni Career Opportunities Staff Intranet
Timetables
Project Submission Form

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.

A Software Tool to Organise My Personal Photo Space - Clíodhna Nerney and Damian Furlong

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.

XML Interface for Fischlar on a Compaq iPAQ - Colm Dunne

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.

SMS Notification of Incoming Emails - Cathal Cole and Brendan Franks

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

Automatic Polling of Online Newspaper to Alert on Topics - Joan McSwiney and Alison Murphy

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.

Parallelising Físchlár Video Analysis. - Karl Podesta

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

Video Stream Shot Comparison - Cathal Small

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.

Neural Network Modelling and Maximum Entropy - Kevin Hussey

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

Graphics Generator - Mark Preston-Smith and Elaine Kieran

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

Intelligent Object Tracking - Richard Wagstaff

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.

Evolution Simulation - Colm Kenna

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

X-IMAP (X-tended IMAP) - Barry O Neill and Brian Bambrick

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.

Peer to Peer Web Conference - Michael O'Connor

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.

Projects to Research Handovers in Bluetooth - Glenn Sweeney

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.

Email Server Management Monitoring Tool - Jean FitzGerald

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.

DCU Graduate Page - Lydia Farragher

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

Research Tool - Lorna Gavin and Fatima Aziz

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

Suunto PC Interface and Dive Log - Ciaran Browne and John Reddy

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+.

ROLO - Image Email and Web Search Engine - Lorraine Donohoe and Roisin Flannery

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

Search Engine - Ian Wright

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 - Joanne Kelly

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.

Focused Web Crawler Using Reinforcement Learning - Karl Glennon

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.

Universal Site Search Engine - Derek Organ

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

Animated Java Debugger - Susan Gallagher and Breffni Coffey

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

D6 Emulator for the Palm Pilot - Dermot Carroll

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.

Project Submission Project - Barbara Cahill

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.

TimeTable Generator - Eileen Gavin

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.

Java - XML Presentation Application - Siobhan Maher

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

Project Idea Submission System - Daniel MacAlister

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.

Time Based Web Content Generator - Trevor Parsons

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

X-NET Server Management Tool - Shane Pounch

X-NET is an ASP application for managing your files and databases online from anywhere. The directory manager allows you to copy, cut, paste, download, and view (highlighted) source code, as well as edit and move files and folders. You have a bi-panel presentation that lets you easily browse your files, click on a base and edit it. Also features customizable graphics, colors, and language. The directory manager automatically opens your Access Mdb and lets you view/edit all the content and everything that SQL makes possible through a database manager. You have a complete user management that lets you attribute folders, rights and more. Available in 3 languages (English, French and German). A three tier architecture is used including a Front end Consisting of a web page created in HTML viewed in Internet Explorer 5. Middle tier The ASP should perform most of the work with the web server. Back end An MS Access format will be used with the use of SQL to access it.

A Trading Site using the ASP.Net Platform - Kevin Mee

This Auction Site will be used for online virtual items, mainly for many of the gaming worlds available. Users will be able to sign-up, search for items, bid on items, run auctions, bookmark auctions and keep a database of all their own items. This project will be built on a three-tier structure and at the same time separating all the logic from the user interface (web page). Database access will be handled using the new ADO.NET framework. This will create a "disconnected" database (using Web Services) to the user for them to manipulate, and all changes will be posted back to the database when needed. All the logic will be programmed using C# and ASP.NET will be used to handle all the server controls.

SQL Console - Paul Mc Cormack

A Console to connect to any odbc complainant, when connected you can pass sql queries to the database and get back results. The console has options to load sql queries from text files, and saves queries to text a file; the sql editor has all the option of modern day editors like cut, past, load previous queries etc

Secure Java Application Server - Ronan Ryan and James Ryan

This project is an application server implementation, which can load and execute Java code on behalf of remote users. Typically, a registered user will connect to the server and send one or more Java classes that will be loaded and executed by the server. Then remote users will link to the server and request the service of a program that is currently running on the server. To ensure that only registered users can use the server and that Java code only accesses resources for which a user has permission, the server implements suitable authentication and authorisation mechanisms. Authorisation is handled with JAAS(Java Authentication and Authorisation Service), and once a user is authenticated all code is run on behalf of that user. In this way as opposed to traditional access control measures we can grant privileges based not just on where the code comes from, but also, on who is running the code. For authentication we used an RSA challenge-response mechanism which we incorporated into the JAAS framework. In order to log on to the system a user must demonstrate that he/she is in possession of the required RSAPrivateKey. All keys are stored securely using PBE (Password Based Encryption) and the client-server connection is SSL (Secure Socket Layer) over RMI (Remote Method Invocation). This system was written purely in Java on Windows NT 4.0 so is completely portable across all platforms. It's a software development project, and its advantage is that it allows Java classes to be executed remotely in a secure sandbox like environment with very fine-grained access control mechanisms.

Music Analyser & Transcriber - Jonathan O Callaghan

This project is a java application which takes a sound file as input, e.g. mp3, wav, cda file etc, and determines the notes/chords being played using the fast fourier transform method. The user is then shown how to play the piece of music (on guitar and piano) using tab notation and an animated user interface. It will also include options to isolate these instruments and either play back the wave with the instrument either removed or on its own. It could also include a wav recorder so the user could record themselves playing and possibly add effects like time-delay, Wah, phaser, flanger etc. It would hopefully include an option to combine their own recording with the backing track from the original sound wave.

Intelligent Poker Player - Garrett Ryan

The aim of my project will be two-fold. Firstly there is a web based poker game that multiple people can log into and play. This game will be capable of dealing and analysing most of the popular casino poker games - Texas Holdem, Omaha, Omaha Hi-Lo, 7 Card Stud and 7 Card-stud hi-lo. Texas Holdem is the game of choice to decide the world champion of poker. In this game each player receives two cards and some betting occurs. Then three cards called community cards are revealed and another round of betting occurs. There are two subsequent rounds with one card being revealed each time. These five cards are called community cards and are available to all the competing players. If at the end there is more than one player still in the game the best five-card poker hand wins. This hand is made up from the player's two cards and the five community cards. For the game of Texas Holdem one or more computer players will be provided. This is the main goal of the project - to develop an intelligent texas Holdem player. The player should be capable of playing against up to nine opponents. The player will have a strong grounding in probability to aid in decision making. Elements of game theory will be involved and randomisation used so as not to be predictable. The computer player should be able to execute and recognise bluffs, an essential part of a winning poker player. The central constituent of the computer player will be to implement some form of opponent modeling. This will be done through neural networks and the computer player will build up profiles of opponents over the history of hands played with them. Neural networks appear to be well suited to this task. Justification of project: The attention of the artificial intelligence community has only recently been directed towards poker and a truly world-class player has yet to be developed. Attempting the project should give a good insight into artificial intelligence programming, game theory, statistical programming, java network programming and neural networks. Intermediate objectives: I would hope to have the dealing, game interface and hand analysing implemented by January. I would hope to concentrate the network programming and on the main computer player from then on. If I have time I may code more than one type of computer player. Project characteristics: The project will be implemented in java using Windows NT.

3D Strategy Board Game - Fortress - Ciaran Daly and David Dempsey

One of the most popular and exciting areas in programming today is in the area of games programming. With the emergence of new technologies, games development remains as interesting as ever. The aim of our project is to develop a three dimensional strategy game, which is a networked multiplayer game but also has AI opponents. Fortress's UI was developed using the Java 3D API. The game is similar to chess but is played on three boards, which are in a three-tier formation. A player may connect to a Fortress server and play against other people connected to the server or he/she may play against an AI opponent. The game also has an integrated chat feature and games are arranged by people in the chat room. The server keeps a record of a player's statistics, such as game wins and losses. These are stored in the player's profile, which only the player can access with his/her password. These profiles are protected by the server in an encrypted file.

Computer Go - Conor O'Kane

The aim of my project is to write a computer Go program with an effective AI algorithm. The game of Go can be played on anything from a 9x9 to a 19x19 size board and so far no one has created an AI routine for Computer Go which has been effective against expert Human players, unlike in other board games such as Chess. I plan to write a program which will have a GUI enabling a human player to play against the AI, as well as having network functionality in the program to allow it to connect to a Go Internet server where it can play against other computer programs and other human players. My project will build on the latest AI techniques employed in Go, as detailed in the paper "Computer Go: An AI orientated survey" by Bruno Bouzy and Tristan Cazenave (http://www.ai.univ-paris8.fr/~cazenave/CG-AISurvey.pdf). It will involve a significant degree of research and theory, however there will be some programming involved in implementing the GUI and Network functionality, as well as in implementing the AI routines. Language: Java Platform: NT

Bearings - The Maze Game - Adrian Peyton

Bearings is a web based java one player 3D maze platform game where the user must navigate through a series of mazes in order to complete the game. Along the way the user encounters monsters, which must be killed, and objects (guns, night-vision goggles etc..) which must be picked up. Against the clock, the aim is to score as much as possible in as short a time as possible. The game runs as client/server architecture, where the server manager runs on the game machine. The client (web browser running the game) connects via a socket connection to the server. The game was designed so that the mazes could be created online by players and have them saved to the system, so that other users may play them. The user may jump to a particular maze provided they know the password, which can be attained by completing the levels that precede the required level. Platform: windows Section: Games/ Entertainment/AI

Mail Client with Spam Guard - Paul Callely

The project is an email client, which enables the user to access mail folders from any POP3 email Server. It will be able to receive plain text and HTML emails and will be able to deal with attachments. The user will be able to send, receive and store messages. The second part of the project is to design a Mail Filter, which is, can be added to the Client and will allow the user to filter out unwanted emails. The user will be able to tell the Filter what he/she wants to filter out. There are three main category types and the filter will decide which category the incoming email falls into. These categories are Adult Material, Online Shopping and Banking. The project will involve doing research into the different methods of Text Filtering and Text Retrieval to see what approaches are best suited to creating a successful Filter. The Filter will also sort the mails into Folders of friends and Mailing Lists that the user has subscribed to. The program will be written in Java with the user interface being created using the Java Swing and Java AWT API's. The Mailing functions will be written with the help of the JavaMailTM API and the JavaBeansTM Activation Framework (JAF).

Sports Rankings Developer - Padraig Cooney

I am developing a web-based system to allow a user generate sports rankings systems akin to the FIFA World Rankings and other such systems used by sports organizations to calculate performance. The project can be divided into two parts - a GAA template and an option to develop one's own ranking system from scratch. As the GAA does not have a means of ranking its county teams in this way, I have developed a GAA template as my default option. This will involve setting out various criteria for establishing results. For example, a victory in a match will affect a team's standing depending on the competition in which the game was played; the stage of the competition; the relative ranking of the opposition; the score accumulated; and the margin of victory. Rankings are calculated on a monthly basis, and consider results for the past five years. The user inputs match results through the web interface for the current rankings to be worked out. The project also allows a user to build their own rankings system for whatever sport is desired, by selecting a whole set of criteria; inputting competitors, tournaments, tournament formats etc.; selecting the relative importance of different tournaments; and specifying the low-level details of the sport itself. My project has an elegant and easily operated user interface, with helpful notes included for certain input fields. To develop the system, I have used Java Servlets, JSP and a JDBC connection to a Microsoft Access database.

PR and other Online Voting Systems - Shaun Canny

I propose to develop a real secure online proportional representation voting system, real in the sense that it will simulate an actual election in Ireland. I will also propose to develop other voting methodologies to compare election results using these different methods, such as "first past the post". My system will generate results when polling has finished. The system will also generate graphical representation of these results using SVG (if time permits). For the PR method I will use the single transferable vote method. Description: The voter will be able to log on to the web page, from which they will be asked to enter their username and password. I will implement some form of encryption to make this secure. On a correct entry, a voting form will appear for the designated constituency, which the voter belongs to. The voter will then fill in the form. They will do this by selecting the candidate of their choice in order of preference. Once they have done this there vote will be recorded. I plan to introduce a time constraint, which means that a voter will only be able to vote within a specified time period, as is the case in any election. When the time period has elapsed the results will be automatically calculated along with graphical representation of the results. I will also implement other algorithms for calculating votes. Implementation: I propose to implement my project by using Java server pages (JSP) in order to implement the various functions associated with my project. I will be using the Tomcat server to run these pages. These pages will connect up to either a Microsoft access or SQL server database. I will use jdbc (Java database connectivity) for this connection. The front end will be developed using html. I am also proposing to develop on screen graphs i.e. so once the results are in you will be able to see the results in graph format and also be able to see the voting patterns matched with previous elections etc. For this I will use S.V.G. (scalable vector graphics) Conclusion: I think this project is an excellent idea because it enables people to vote on the Internet, so they don't have to be in their local booth in order to vote. Secondly the project has no limitations it can be used anywhere whether it be general elections or a university elections etc.

Programmer's Editor - David Costigan and Ronan O'Ceallaigh

Our project is a Programmer's Text Editor, based around a language definition file, called Fist. The name of the project comes from the description of telegraph operator's unique style as their "fist". We intend this editor to be as flexible and fast as possible, so that an individual programmer would be able to create his/her own unique coding environment. The language definition file would include a description of a programming language, for example reserved words and control structures, which the programmer could edit to suit his/her own coding style. There would be one definition file for each language, and several files are supplied with the editor. There are also numerous user interface features, which are optional to the user. These include auto-completion, a code overview window, syntax highlighting and code statistics. OS: Can be compiled onto any platform. (Unix, Windows, MacOS) Language: C++ Application Area: Software Engineering

Java Traffic Simulator - Paul Carr

It is in the area rule-based simulation that I have focused my final year project on. The objective of this project is to accurately simulate the flow of road traffic in a graphical user interface. In order to achieve the simulator must capture both the physical and human components of traffic. This means that the simulator must determine the reactions of the vehicle driver depending on the vehicle's state. The state of a vehicle can be determined by the distance and by the difference in speed, in comparison to the leading vehicle. If the vehicle state changes, the driver must react. Other reactions that are determined are those in response to changes to the environment in which the driver in driving in. Examples of these would be the speed limit, traffic lights etc. Another objective of this project is to distinguish between drivers with different characteristics. A characteristic of a driver would be the risks that he/she would be willing to take. A certain type of driver will maintain a safe distance between himself/herself and the vehicle in front of it others may not. Some drivers will obey the speed limit, others may not etc. I have created the simulator using a psycho-physical vehicle-following model. Psycho-physical vehicle-following models determine reactions of vehicles in traffic processes with regard to changing the acceleration of vehicles. Reactions happen if differences in speed and distance to the predecessor occur.

COFS for Nurses - a Computerised Filing System for Public Health Nurses - Ruth Kyne and Marita Cummins

There is a problem in the health sector at the moment, in that it is not computerised. We decided to try and computerise the public health nurse sector, as our Fourth Year Project. The basic job of the public health nurse, which is to cater for the needs of the patient she/he is visiting, is made very difficult due to the manual process of data storage and retrieval. Not only does the nurse spend the day filling out the forms as she visits the patients, but she then has the additional task when she/he arrives home, of updating these files and sending them to the Health Board by post. This creates a lot of unnecessary over time for the health nurse. Also, it is not very secure to send this information by post and as these are medical records, by law they must remain confidential. The aim of our project was to design a web-like application into which nurses can enter details of a patient's consultation. The application takes all the information entered, saves it to a database and allows the nurse to generate a report based on the information entered. It also allows the user to view the report or update information on the database. There is also options to print the report out and to save the report onto the nurses desktop. This application could be installed on the nurse's laptop or home p.c., or it could even be installed in a clinic with our database as a central database. The project also deals with security as medical records have to be confidential by law. The database requires a password and can only be accessed by running the system. The system can only be accessed by providing a password, which is registered when installing the application. This password is encrypted and stored in a file on the database. The application was designed using JavaServer Pages, MS Access and XML.

Online Auction Site using Enterprise Java Beans - Cormac Hall and Conor Lennon

This final year project aims to produce an online auction application. It is developed using Enterprise Java Bean technology. The main function of the application will allow registered users to place items of theirs for sale. These will be then made available to other registered users so they can bid for them and purchase them. A user will also be able to view their items currently for sale as well as view their transaction history. The application is developed through the EJB technology as this technology is suited towards developing component based applications. The technology is also geared towards ensuring safe and secure transactions over different tiers. The architecture of EJB also encourages good programming techniques which for example ensures specification is seperate to implementation and allows developers to more clearly focus on the business logic of the application, instead of having to worry about the more technical side of the development. Our application it is hoped will exploit and use these and other advantages of the EJB technology. To that effect it as also hoped that we can carry out some kind of analysis or testing of our application to highlight some of the advantages of using Enterprise Java Beans.

SMS Newsletter - Eoin Daltún

The aim of the SMS Newsletter project is to allow an Organisation of some description to send out newsletters (reminders of upcoming events) to subscribed recipients via SMS. A person can subscribe to an organisation's newsletter by sending in a message to a specific phone using keywords. The subscriber's number is then associated with that club and when a newsletter is scheduled, the new subscriber receives a message via SMS. The Newsletter is controlled by an administrator via a web based user interface using Java Server Pages. Platform: Windows 2000 (JSP's through any browser) Software: Java and Java Server Pages using Tomcat webserver. Area: Multimedia

Automatic Categorisation and Filtering Tool - Paula Howlin

The objective of this project is to create an automatic filtering and categorisation tool for sports related documents. The aim of it being to aid people in their jobs, making it easier for users to produce sports reports for television, radio and print coverage. Using Information Retrieval methods the program will be able to identify sports documents and then automatically categorise them into their respective categories. For this ten super-documents relating to ten different sports will be created, each super-document will be about 50k of text each. Applying the Information Retrieval method will allow the identification the best category (if any) for any particular document. The interface will be web based. The web page (when a user logs in) will alert a newscaster, researcher or whoever the user is to the fact that there is new information about a particular sport. In the event that the document being entered contains information that leads the program to believe that it could be two or more sports the program will let the user decide which one it is. 1) Area of application: MultiMedia 2) OS: Windows 2000 Professional using IIS web server with Microsoft SQL Server access holding configuration information 3) Languages used to implement: Java

Java Email Client - Brian Quinn

I propse to develop an Email client that will be a 100% java application. I will use the JavaMail API to do this. My Email client will employ various internet email protocols. (POP, IMAP) The features of the email client will include: A Folder list, including the option to create your own folders. Tools for flagging email for follow up, and a filtering option. An adress book to manage your contacts. The capability to send attachments with messages. Messages will be sent in plain text format, but if i have time i wìll also try to include the capability to send HTML mail. I also plan to include a hyperlinking facility whereby distinguishing terms will be selected from an incoming mail message and linked to google to allow searching for that term. To this end I will develop a function to select words based on the word frequencies, the idea that the mid-frequency words are best for this task. I will use Java Swing toimplement the user interface.

On-Line Personal Organiser - Amy Healy

The Personal Organiser is a diary on the web where users input information about meetings or other events that they wish to be reminded of, an SMS message and an email will be sent to the user to alert them of an up and coming event. When the user initially sets up his/her calendar they must select a password to be used to logon to their diary/calendar. The username for each user will be their mobile number. The user can access the web page via their P.C. When the user logs on from their P.C. they must enter in their Username (i.e. mobile number) and their chosen password. When entering details about an event the user selects the date of the event. On selecting a date the user will be given the option of scheduling this event with other users, where by it will send them an email and a SMS message about the proposed event. Then the user can select how often he/she wishes to remind himself/herself and other users of the event. The user can have a private and public diary, whereby the public diary will be accessible by other users (users will be issued with a username and password), which will be specified by the user. When a user enters details about an event for a particular date he/she can decided which diary to put it into public or private. The private diary can only be viewed by the user. If the user logs on from their WAP-enabled mobile phone, the site recognises the users mobile phone number and brings them directly to their diary/calendar. · Here they can enter details of a meeting or an event that they wish to be reminded of via SMS and email and how often they wish to be reminded. They can also search through their Private and Public Address Books for information. Platform Used: Windows NT Languages Used: ASP, VBScript, VB, WML Application Area: Can be used for personal or business use. Would be useful for people you spend a lot of time away from their desk

Voice Operated Website Manager - Conor Kelly and Deridre Redmond

WebMan, our Voice Operated Website Manager is a user friendly application which allows relevantly inexperienced computer users to create and maintain their very own website. By incorporating the latest in speech recognition technologies with a consistent, easy to use interface, WebMan covers up all of the normal complications of using HTML to build a website and managing the web pages and images. Dragon NaturallySpeaking is the speech engine behind the application allowing for use of Voice Commands and Dictation of Text. WebMan operates on a speak and click system with context sensitive hints/help and basic tutorials for all of the main elements of Web pages. WebMan provides easy to follow steps for all of the more complicated aspects of designing web pages and uploading them to the Internet. Area of Application : MultiMedia / Web OS : Windows 95/98 & NT Languages : Delphi / Object Pascal

Java Chat Room - Keith Conroy

This chat room is a client/server application that uses sockets. The server creates a thread for every new user that connects to it. The client sends messages to the server, which broadcasts the string to every other client. The graphics and the speech synthesis coincide with the clients actions. A client is represented by a figure on the screen, and if a client is sending a message, their figure moves their mouth. This is done with the manipulation of images, and the switching between them. Also every string that is sent to the client is spoken out to the client. This part of the project uses Java Speech API. This synthesiser avails of the Microsoft package Speech SDK 5.1. OS: Windows NT Language : Java Area: MultiMedia

Automated Track and Trace Barcodes - Niamh Maher

This project is to be used to automate the linking of a unique track and trace number to the name and address of the receiver, of a parcel. The Unique number is held in a barcode which is to be read from a pre-printed label, by a barcode reader, checked using check digit calculation, and then linked to a database record containing the names and addresses of the recipients. The program also must allocate unique serial numbers, to each client, which will be written to a spool file along with all relevant information to be printed. This spool file will be used to personalise the printed documents. These unique numbers must then be stored and updated in order to authenticate and keep track of documents. This entry to the database will also be time and date stamped. Name and address must be printed on the label containing the barcode. In addition to basic function of the program it will be required to print out a dispatch sheet when a consignment of packages has been finished. This dispatch sheet must include details of all packages, complete with track and trace number. Also it must contain the total number of packages dispatched. This dispatch list will also be e-mailed to the customer. It will contain all the information from the database. In the event of a misplaced package there will be the option of a search under name, address, date and track and trace number. Once the details of the package have been obtained it will be possible to trace the whereabouts of the package via the web. OS: Windows me Languages: Powerbasic Area: Other

Visual Database Design and Creation Tool in Java - Kenneth Maher

Normally the steps of designing and creating database systems are both very long and tedious for a DBMS user. The DBMS user must first plan out the schema of their DBMS using some sort of modelling system and then spend a long time creating the necessary SQL create table statements to create the tables needed in the Database. My project will combine both these long and arduous processes into one simple to use application. This application is a Database Design and Creation tool. The Design and Creation tool will allow a user familiar with the basics of Database Design, to create an Entity-Relationship model of the Database schema on screen. Once the user has created their ER model of the RDBMS, the application will allow the user to automate the Database Creation process by generating the necessary SQL statements to create the required tables in the database. The application will allow users to design correct representations of database systems and automate the creation of these systems. The application has a wide variety of possibilities and uses by both professional and academic users. Lecturers and Academic staff can use the application to teach students about correct database design and creation. Users in the private IT sector such as System Administrators and Project Managers who require the easy design and implementation of a databases can also use this application. Since the application has been developed solely in Java, it is completely platform independent and offers support to a wide range of RDBMS's through ODBC anJava's own JDBC. At present the system supports both Microsoft Access and Microsoft SQL Server. Due to the fact that the application has been designed and implemented in a completely Object Oriented manner, there is a framework in place to add different Database systems easily (such as Oracle etc). As well as adding extra databases to the system, users can also easily add unlimited functionality to the application such as a Database Management Suite or a Verification System for the ER model.

Documentation Made Easy - Jennifer Gibson and Jennifer Fitzgerald

Having noticed the vast amount of documentation required throughout the Software Project Lifecycle, this project aims to ease the process of project documentation thus making it less cumbersome and error-prone. The idea behind this innovation is creating links between software documents regarding a specific project whereby fields are automatically populated in the document templates. This in turn reduces the overheads of both time and integrity regarding the information input. The project is an online application developed using Java Servlets, XML, SQL and HTML.Users can create, store, and view documents for any projects they are involved with. Our product has many improvements on current applications available in the software market, through its user friendly environment and innovative procedures and functionality, thus making it a forerunner of its field. OS: Windows NT Area: Ecommerce Languages: Java Servlets, XML, SQL and HTML

Web Based Project Management Tool - Joseph Hunter

I propose to develop a browser based Project Management application to administer, delegate and monitor resources that are involved in a Government Departmental based project. A typical Government Departmental Project has the following properties: Project Title, Project Sub-Tasks, Personnel involved, Time constraints (milestones and deadlines) and the budget allocated to the project. Each project for the upcoming year is described and outlined in a business plan at the start of the year. Each section within a department has its own business plan, which shows the projects they will undertake in the forthcoming year and all the relevant details of each project as described above. The proposed application will allow a section to update these projects and generate reports on these projects based on certain criteria. This will enable Government personnel to calculate in advance the feasibility of future projects and to update projects as they progress during the year. Functions & Features Provided 1. Informative Gantt Chart Views: The Project Management tool running in a browser will allow users to view and edit all project information that is stored in a relational database. The user can view different information on each specific project based on certain criteria. For instance there will be Gantt chart views to see all projects currently in progress and the time and personnel allocated to each individual project. 2. Edit Specific Projects Using Forms Based on these views the user can use forms to edit different projects or add in relevant information. For instance if a project view shows a project which has not enough resources allocated to it, the user can see from other projects what resources are available for that project and if necessary move the dates of that project to coincide with the release of the necessary resources. 3. Incorporate Management Science Techniques To increase the functionality of the tool I plan to incorporate some Management Science techniques to inform the end user of the feasibility of certain projects and generate reports to show what resource is being under or over allocated or similar project diagnostic information.

Automatic Stock Ordering System for Business - Brendan Cahill

My project is an automatic stock ordering system, which uses management science techniques to ensure a company gets it`s stock for the cheapest possible price, while at the same time ensuring a company will never run out of a product. The system is implemented entirely in Java and uses a Swing based GUI which has been designed to be as user-friendly as possible. The system has been designed to work with any Win95/98/NT operating system, but due to the fact that it is written entirely in Java it should be adaptable to any platform capable of running a Java VM. The main area of application for this project is ECommerce. OS: Windows NT/ME

Portfolio Software - Joseph James Maloney

This project objective is too create a software environment, orientated towards a business & Finance market side of Computing. The application is a Portfolio application, and the targeted end-users would be private individual investors & asset Managment Companies. The software will incoporate all the features associated with portfolio managment & analysis, Which include - - Monitor changes in the value of your Stocks and funds since they were purchased - Get a year - to - date returns. - Get a single at-a-glance view of price changes and market valuations for all holdings. - A graphic analysis of stocks and markets. - Generate tax & fees due on the investments. - Tailor the portfolio analysis to suit yor needs. The software will be based on a Client - Server model, thus allowing for multiple clients connecting to a database to store the vast ammounts of information that portfolios amount. The application will be a graphic user interface for the Front End and a Server for the Back-end.The Front End will be written in JAVA - SWING whilst the back end will be written in JAVA. This aspect will then add a multi - platform dynamic to the Software application. The database will be an SQL implementation, with an expansion into ORACLE if possible thus matching the business nees of a Company & the software that company would have. I have an indepth knowledge of Java And Java - Swing and to set up a Network of clients connecting to a Server. My research in this project though stems from the Finance aspect and incorporating these standards into a viable software package, as i have much interest from the financial aspects of Computing.

OPAC Library System - Seamus Mc Morrow and Adrian Cadden

The OPAC (On-line public access catalog) application is a web based Client and user account interface. It aims to be a web interface for any web browser to library management system or as a standalone product to any Z39.50 server with an oracle database by using Library and internet standards such as Z39.50,J2EE,XML,JSP. It will provide ·Basic & expert searches ( title, subject, keyword, author, ISBN, record number ) ·Library news system ( Library portal news system ) ·Display member info ·Members will be able to review/rate books It is OS independant.

CEREBROGEN, A Brain Computer Interaction System - Kyle O'Connor and Amarah Khalid

Our project, CEREBROGEN, allows a user to control cursor movement and object selection on a computer using brainwaves. This system monitors brain electrical activity from Electroencephalographic (EEG) readings in the sensorimotor cortex using electrodes applied to the scalp. This information is amplified by a PowerLab system and sent to a PC via the USB port. The sampled data is relayed through a third party program, Chart, and then processed by our Java based application. The data is analysed using a Fast Fourier Transform, which produces a Frequency Band Spectrum. This spectrum is further classified in relation to system-coordinated events during training and testing to identify left and right intentional movement. Over a number of sessions this allows the user to control a binary channel with thought alone. This project was developed in Windows 2000. The area of application is Human Computer Interaction (HCI), specifically it is a Brain-Computer Interface (BCI) system. The CEREBROGEN project was sponsored by Intellit Ltd. www.intellit.ie

Remote Desktop over HTTP - Donal Riordan

Tools which allow a user to control another computer from a different one via a network have been popular for years. However, all software to date requires both server software to be installed on the controlled machine and client software to be installed on the controlling machine. This model presents a number of problems: - Client software must be carried around on disks if the user is to use it on different machines - Client software may not be available for certain platforms - Users may not have permission to install or run the client software on the machine My project gets around this by using a system whereby a web browser communicating using HTTP is used as the client software. A web browser is now a standard piece of software on computers or, at least, computers with network capabilities. Because of this the system could be used by alot more machines than previous systems. For example, using my system, the controlling system could be in an Internet café, or it could be a web terminal which are becoming increasingly common in airports, bus & train stations or it could even be a handheld device. Basically any computer which can use the web can be used to control the computer running the server. The ubiquitous presence of the web access means that a user should be able to control their home or office computer from anywhere in the world on almost any machine as if they were actually sitting in front of it. OS: Windows 9x, NT, 2000 and XP Language: C++ (using Borland's C++ Builder) Application Area: Remote Desktop

Interface for Object-Relational Database metadata (Oracle 9) - Alan Power and Sarah Murray

For our project, we have developed two Java libraries to interface with an Oracle 9i database. The only pre-requirement these libraries have in order to work is that the server-side library is loaded into Oracle 9i's built-in CORBA object request broker. The server-side library provides methods to connect to an Oracle 9I database and retrieve information about data in the database, including types, objects (attributes, methods and hierarchy), triggers and stored procedures. On the server side, we have also provided a Java interface object which holds the data contents of a query, potentially containing a combination of objects, arrays and nested tables. This interface object can be accessed from the client side. The client-side library is a thin client and provides methods to connect to the server-side library using CORBA. The client supplies a usable interface for calling server-side functions, as well as providing java swing components. The swing components provide a graphical user interface, which the user can add to a Java application to display the returned data in a user-friendly fashion. In addition, we have developed a sample client which illustrates the use of both the client and server side libraries, as well as being a fully functioning application in its own right. Language: Java and CORBA with Java OS: Linux and Windows NT Application area: Java programming and Oracle 9i

Migration Path for Object Related Database through XML - Thomas James and Finian Nally

The idea behind our project is to develop a Java application to take an Oracle 9i database and transform it into a content rich XML schema. In our case we have chosen the W3c XSD schema. We will not only transform the basic features of the database into our XML schema but one of the key points is that we will be able to model and transform the features of Oralce 9i such as inheritance, relationships, and the whole idea of object tables into our schema. Once we have generated a vaild schema, we will then transform the actual data to an XML file. The second half our project it to take this generted XML file and map it back to an empty Oracle 9i database. Our application will parse the XML using an XML DOM parser and generate the create statements and insert statement to create the database as it originally was with all of its various features. Finally we will take our appliaction and research the possibility of mapping our XML to any Object Oriented database.

XML Database - Caoimhín Dónal Breathnach

The project consists of an XML front end for an Oracle object-relational database. The front end will allow the user to store and search any XML document, and query it on the basis of any tags and content it may contain. The interface will hide the Oracle Database from view, and to all intents and purposes it will be an XML database. The objectives of the project are to provide a powerful tool for the analysis and storage of an XML document, or a group of XML documents, and to demonstrate my understanding of the object-relational database model,the XML document specification language, the Java programming language, and how to integrate them successfully.

Portable Java based SQL Console - David Walsh

This is a portable java console for SQL statements and connections to different databases. The console will use a JDBC thin driver to connect to a database and to work on any Java supported platform. The application will take the SQL query from the editor and pass it to the database.The selected SQL statements are executed against the established connection. One by one the results of the execution are displayed in the window. The toolbar provides buttons for saving contents of both the query and the result as ASCII output and an option for loading and executing sets of SQL statements as a plain ASCII file. The application will provide all capabilities modern editors provide, e.g. cut and paste options. Keyword: Database

Clustered Web Server (CWS) - John O'Connor

The traditional design of web servers is limited by a lack of scalability and fault-tolerance. It is becoming near impossible to process requests generated by millions of Internet users in the world and to meet the need of hosting Internet information that is growing explosively. My project provides an extensible and scalable Web server system, which can be extended in size to increase the computing power for handling large amounts of user requests. The system makes use of freely available software such as Apache web server to perform the actual web page serving. My project provides a load balanced front end to a group of web servers. It achieves the distribution of load using the Http 1.1 protocol and some simple yet effective algorithms. CWS actaully consists of multiple modules such as Constellation, a gui tool for creating configuration files, and CWStat, a module for logging load information. The main part of the system in the actual load balancing daemon, httplbd. OS: Linux Language: C\C++ & Gnome Application Area: High Availibility Servers

BF RacerX - Kevin Boland and Seán Fitzpatrick

Our project we have wrote a Directx Game Engine which supplies basic development tools for a programmer to be able to develop there own game quickly. On this engine we have built our game BFRacerX which is a car simulation that simulates every aspect of the car right down to the radio :) . This game allows for a multiplayer game which can be run on the same console or over a network.

Online Fantasy World Cup - Daniel Cronin

My Project is an Online fantasy World Cup game. It is a child of the ever increasing popularity of fantasy games online. It involves email and sms notification to the users and allows one to pick eleven players from 32 countries and over 700 players competing in World Cup 2002. Each player earns points for their performances in the World Cup and if you have this player on your team, then you earn these points also. You are put in a league with all the other users as an added incentive to choose wisely. I will be using Java, Java Servlets, HTML, and SQL to implement this. Area: MultiMedia OS: Windows NT

Graphical Interation with 8086 Embedded CPU - Brendan Bradley

The application presented here is a graphical environment, which allows the user to interact with a virtual 8086 embedded cpu system. The purpose of the application is to provide a 'view' of the system, ie to provide a window into the system, and sufficient tools with which to manipulate or interact with the system. This is achieved by using a familiar instrument panel layout to graphically represent the state of critical elements of the system. The main elements of the user observed system are the individual instruments, all of which are independent real time view components. As their name implies these instruments are updated in real time as the information they present changes. From the interactive and functional point of view, the user is provided with controls which are similar to those found on domestic consumer audio visual appliances. These all follow a similar theme with every control marked with a symbol which by convention represents the functionality or purpose of that control. This system uses the DCU D6 embedded development environment, or D6 computer.

Applications of Identity Based Encryption - Shane Healy

For my final year project I proposed implementing an Identity Based Encryption (IBE) scheme. The scheme describes a method of encrypting a message by using the recipients email address as the public key. The project will demonstrate the advantages of this system over conventional implementations of Public Key Cryptography in a simple mail client. The research has been carried out by the Applied Crypto Group, which is part of the Security Lab in the Computer Science Department at Stanford University. Using IBE the sender would encrypt the mail using the recipients' email address. When received the recipient would call an independent Private Key Generator (located on an independent server, for example) to receive his private key which would allow him to then decrypt his mail. The advantages are that the sender need not know anything about the recipient when sending a mail to him except for his email address. The potential users of this systems are anyone who wishes to send encrypted email but don't want to or are unable to obtain the recipients public key. It can be used in conjunction with any mail client and is independent to the security of the medium the message is travelling through.

Encrypted Mailing List using IBE - Donal Hunt

An Identity Base Encryption (IBE) scheme is a public-key cryptosystem where any string is a valid public key. In particular, email addresses and dates can be public keys. The IBE email system developed by the Applied Crypto Group at Stanford University is based on the first practical Identity Based Encryption scheme (IBE). The cryptosystem has chosen ciphertext security in the random oracle model assuming an elliptic curve variant of the computational Diffie-Hellman problem. The aim of this project is to integrate the work done by the Applied Crypto Group with the open-source mailing list manager Mailman. This will allow users to send encrypted mails to their mailing list using the list email address as a public key and receive individually encrypted mails to their own address. An extension to the current Mailman web interface will allow users to encrypt / decrypt mails that have been encrypted using IBE, and request their key shares to be mailed to them. Languages: C, Python Operating System: Unix (for server), Multiplatform (web interface). Project Category: Network Systems

One Stop Shop e-mail Retriver - Niall Lalor and Patrick Faul

The main idea behind this project is to allow a person with multiple e-mail accounts to check all their e-mail at once, thus cutting out the cumbersome process of having to sign into 4 or 5 different webmail accounts a few times a day. A user initially registers with One Stop shop by filling in a simple form with the username, password and mailhost names of each of their e-mail addresses. These details are stored in a database and the user is issued a password to gain access to One Stop shop. Each time the user logs into the site, all of their mail servers are contacted immediately and any new mail is downloaded accordingly. As well as checking email each user can reply, forward, send, upload and download attachments and basically have access to all the standard e-mail facilities provided by any mail client. The other side of this project will involve SMS notification of urgent email. When a user is not logged into the site a mailchecking program will constantly run in the background. If a new e-mail arrives and the sender is marked as important in the users address book, they will be notified via SMS about the e-mail. The senders e-mail address, the subject and the first few lines of the main body will be sent.

3D Shoal Simulation - Barry Handelman

The aim of this project is to develop a three dimensional simulation of a shoal or school of fish. The movement of the fish will attempt to simulate real-life movement patterns by use of a distributed behavioural model. To do this each fish will have access to the whole scene's geometric description but, in order to simulate real life behaviour, each fish can only react to objects within a small distance from their location. The project will also include the ability to introduce a predator into the environment and see how the fish react. This kind of model has been used to produce film scenes such as the penguins in Batman Returns. It is a particularly good demonstration of 'emergence', complex global behaviour arising from a set of simple local rules.

PopM@il - Eamon Moore and John Joyce

PopM@il is a portable email client that will enable the user to send and receive POP3 email. The client will also incorporate some usage-enhancement features such as dealing with attachments, mailboxes, filters for incoming email and unwanted spam mail, a drag and drop facility and also supports multiple accounts. Our main aim regarding the design of this project is to create a user-friendly application, one that is easy to use and at the same time satisfies all the user's needs and has all the necessary components of a standard email program. The project is designed using the Java programming language, in particular the use of JavaMail for dealing with connection to mail servers, attachments and the information about the email. Connections are made through the email client to a POP3 server for downloading email and an SMTP server for sending email. PopM@il is designed to be compatible with all POP3/SMTP servers for both home and office use. Our program comes in the form of one executable file that is used to install PopM@il on an operating system. It is compatible with Windows 95 and later versions, Windows NT, Solaris and Linux. This installation includes registry updates, shortcuts on user desktops, start menus or user drives.

Secure Instant Messenger (SIM) - Kevin Kerrigan and David Burns

We aim to build a secure peer to peer instant messenger application. Allowing users to generate Session keys using SPEKE(Simple Password-authenticated Exponential Key Exchange) encryption. It is a password-authenticated Diffie-Hellman exchange, where the password forms the base of the exchange. In standard Diffie-Hellman, the base is usually a fixed public number but with SPEKE, the "generator" of the exchange will be a small password shared by both parties wishing to communicate. This will provide an advantage over other Instant messenger Services such as MSN, as it will allow users to transmit confidential data over a secure connection. We intend our Instant Messenger to be different by not using a centralised server. Each instance of our application will have the capability of being a Client/Server in its own right. For example with MSN Instant Messenger a centralised server is used. When a user starts up their IM software, a copy of the IP address of the machine that they are running is associated with their username and stored on the server. Each application running on the internet connects to this server and receives the usernames and IP address' of all other users online. Our application will attempt to eradicate the centralised server to make a more robust system independent of one single server. The only problem with this is discovering a method of user recognition, that is letting the users know who is online and at which IP address they are located. We believe we can accomplish this through the use of email. We are unsure of the difficulty of implementing a decentralised system, our primary concern is to establish a reliable and secure Instant Messenger service. Although, it is our ultimate goal to make this secure IM service independent of a central server.

Authenticating Streamed Data over an Insecure Network - Andrew Phillips

The purpose of this project is to provide authentication to streamed data, for example an internet radio broadcast or an online video stream. Authenticating such data is problematic as it adds a computation and communication overhead which needs to be minimised as much as possible while still providing maximum security, there is also the problem of packet loss which may hinder authentication. Several schemes have been proposed to overcome this, which are implemented in the system. The system also allows for the securing of the data via encryption. The system acts as an independent middleman, adding authentication data to the stream and/or encrypting on one end and verifying/decrypting the stream on the other. This allows other applications which may send data over insecure networks to utilise these security features.

DCU SportsTalk - Sports Information System - Eoin George and Stephen Healy

The objective of our project is to design an online application which will allow users to gain information regarding local sports events using either the World Wide Web on their computer, or using their mobile phone (either by Text Message or WAP). Our aim is to ensure that this system would be integratable into the business market (e.g. that a radio station could use the system to provide up-to-date sports information to its listeners freeing up presenters /phone attendants to do their own job which is produce a show!). The application allows users to input all kinds of information: fixtures, results, club details, training details, etc to the system. This information can then be available to the public through whatever mode of communication they desire. The project is implemented through Active Server Pages (ASP), Servlets, Xml, Wml, SMS and uses technologies such as Internet Information Server(IIS), and Microsoft SQL Server. Project Area: Ecommerce. OS: Windows

XML Editor - Barry Maloney

I propose to do an editor for XML. The term, "XML editor" can refer to a great many types of tools, depending on the purpose to which the editor is to be put. Having gone through several sets of criteria in reviewing editors I have decided that this was the minimal requirement, ·The tool must be able to open up multiple documents ·Find/Replace, including global, search a directory find/replace ·It must show the editor relevant tags and make tagging easy ·It must validate the results and make it easy to find errors. ·It must be able to switch, update, or add DTDs later. ·It must allow the creation and/or editing of well-formed XML documents without DTD. ·If the tool can accommodate at least some types of external entities, such as images, all the better. ·We also need a tool for creating, changing, and validating DTDs (the files that define XML document structure). At this time, many XML editors do not tend to meet these criteria. I will also have to use Extensible Stylesheet Language (XSL). XSL is a language for expressing stylesheets. By attaching style sheets to structured documents on the Web, authors and readers can influence the presentation of documents without sacrificing device-independence or adding new tags. As I get the minimal requirements completed and have more experience with other editors I will better know and be able to decide what additional functionality to add to the XML editor.

Web Based Learning - Daithi Reynolds and Shane Travers

The idea that started this project off is the fact that only a small percent of computer power today is ever actually used. Most people who own PC's never actually need the computing power that they possess. With this project I would like to get back to why computers, I think, where originally conceived. The fact that there are certain things that our brains cannot do, that it has its limits. While computers are able to work in ways which we cannot, our brains can do things that computers at the moment are incapable of doing, for example pattern recognition. Computers can never actually replace our brains but with computers we can extend our own capabilities. While computer applications up till now have been helping man in all areas of life from the cooking food to chaos theory computers themselves, work-stations and PC's are now becoming a part of every day life for almost everyone. Now more so than ever before they are beginning to play a very important role in education. The project I propose, is to use computers to help people with learning disorders, specifically applying to children with learning disabilities. The idea is to extend their abilities through tailored exercises set out by a supervisor, building on areas children find difficult to relate to. The aim is that the computer would give attention to children in an interactive way, such that they would break down any fears around different problems, such as spelling and reading and pronouncing words. I have chosen dyslexia as a specific case disorder. There seems to be two main parts to this project, the first being the information gathering and research part, the second being the actual implementation of a software package that will certainly be a good template for similar packages in the future. The main aspect of such a project is research, which will obviously take up a large amount of time. From that point of view I have good resources, those being contacts working in the field of dyslexia which will give a good source of information to build upon. The software would possibly be either windows based or web based, therefore will either be programmed in Java or C++. It would involve a lot of graphics to capture and hold children's attention as well as a pointing and clicking mechanisms as a user interface. Dyslexia is a very broad area of study and it would be unrealistic to believe that my project would be able to address all aspects of it. For this reason I hope to perfect at least one computer interactive aiding solution to a specific learning problem. The program will be informative, using researched data to give parents and teachers the specific regions of dyslexia that need to be addressed. It will be interactive, in the sense that, parents and teachers will be able to adjust the tool to help different children build necessary skill that haven't been developed for whatever reason. The plan is that I will narrow down my research field over the following weeks to a specific element of dyslexia that could be greatly helped with computer aid.

Online Store Toolkit - Anthony Hyland

Many organisations market products over the WWW. Most seem to use custom designed web sites. The idea here is to produce an easy-to-use wizard that would help a retailer to set up and maintain an online store. The assumption would be that the user does not know much about the web, html, xml, cgi, servlets or anything else. The program would solicit information from the store owner and construct the appropriate database and webpages. Such information would be: Choosing an overall template for the look of the webstore. Colours and fonts to be used. Product details such as descriptions,pictures and prices. After this initial setup all the tables in database and stored proceedures will be generated. Once these are setup the store owner can then only alter the information of the products. Such as adding/removing/editing product information This application will also have a reporting tool to give the store owner information on product sales. This program would be written mainly in Java and the database would be SQL Server. The pages that are generated would be in XML.

Java File Sharing Application - Patrick O'Reilly

I propose to develop a file sharing application, which will work peer to peer as opposed to the regular client-server model. The idea is for a company to adopt the program and use it to transfer files to different locations and between departments and people. Using an easy-to-setup program will free up resources and reduce costs on a company's system, where the transfer of multimedia files and the like is commonplace. The application would also be faster than, for instance, transferring files normally over the network. Files will be arranged under categories, and a search engine will be available, making it easier for the regular computer user to find the file they need. Also, users will be able to control the files others can and cannot see. What sets this apart from other file sharing applications is that it is totally Java based, with a friendly user interface, therefore enabling any company to employ the system, no matter the platform they are using. Also, the program will be easily customisable, as well as small and efficient, and so can be taken up by a company easily. Basing the project around existing programs like Gnutella and the likes of OpenNap, I hope to provide an easy to use but efficient balance of the two.

Outlook Express and Instant Messenger with SMS Options - Colm Carberry

Basically it's an SMS based project that will allow the user to interact with their desktop while they're away from their computer. The 2 programs that the user will interact with are Microsoft Outlook and JabberInstant Messenger. I wrote a Com Add-in for Outlook that will give SMS options to the user.The add-in is written in VB and is compiled into a dll file. My program added a panel to the options part of Outlook. The program will be able to send a SMS notification to a user when he/she recieves an new mail when they're away from their computer and this SMS will contain the sender, subject and as much as the body as possible (SMS messages must be less than 160 chars).Also, the user can enter a meeting/appointment in their Outlook Schedule and a SMS alert will be sent to them before that meeting on that day (say an hour beforehand) containing the subject and location of the appointment. I have chosen Outlook as the mail program because it's the most common one on PCs. I decided SMS was the best technology to use as most people nowadays have mobiles and they can send and read messages easily. The second part of my project is being able to log onto Jabber (popular IM) via SMS and send SMS messages to "buddies" who are logged on to Jabber via a normal client on their PC. My application takes the SMS, converts it to an IM message (XML stream) and sends it to my Jabber Server (running in Solaris) which will then send the message to the intended jabber client (eg. exodus). The user's buddies can reply to the user's message as normal and this message is then sent to the jabber server to my program (where the user is logged on) and my program then converts the IM message to an SMS message and sends it to the user. All my software is written in java (except for the COM add-in) and it runs in Windows NT.

Linux Disk Magic - Anthony Moyles and Sarvesh B. Singh

We intend to develop an application that can copy and compress a Linux partition (EXT2). This can then be saved to be restored later at the users convenience. The main feature of LDM will be its ability to compress the partition information, thus making it possible for a whole parition to be stored with significantly less space being used, e.g. a 2GB parition can be backed up onto a standard 700MB CDR. The user will interact with LDM via a simple GUI. Most Linux users today have dual boot systems, running Linux and Windows together. To cater for this LDM will suport FAT16 (DOS/Win95/NT) and Fat32 (Win98/ME/2000) file systems, allowing the user to back up their Windows partitions also. The NTFS (WinNT/2000/XP) driver for Linux is currently in its experimental stage, while the UFS (Solaris) driver for Linux is in Beta. This project will achieve an application that can aid the user in computer management. LDM gives the user flexibility to experiment with their system setup. The user can rest assured in the knowledge that if something were to go wrong, he/she can restore their system to exactly that spot before they started altering the system i.e. the last time the partition was operating properly. Software testers will also find this tool useful. LDM will decrease significantly the time and effort required to setup the test environment. These are the two main problem areas that testers deal with routinely. The Norton Ghost tool inspired our idea for an application, to be run in a Linux environment, that could do all these things for an EXT2 partition i.e. to cater for the Linux user.

GAA Training Site - Ciara Kavanagh

My fourth year project is a website teaching children to play gaelic football and hurling. The website consists of a player area, coach area and a visitor area. The player area contains all of the skills and drills that are Gaelic and Hurling are drawn in Flash and give a detailed description of how to perform the move. The Coach area of the website allows the coach to add players to the site, add fixtures, add results, generate statistics, based on previous performances and update all of this information. The website is backed up by SQL server 7.0 databases into which the site inserts, updates and selects information. The platform that i am using is windows NT. The languages are VBScript, SQL,ASP, HTML, Flash, ActionScript.

Dcucyclingresults.com - Brian Ahern

This project is a results package for cycling races. It is mostly aimed at stage races such as the Tour De France or other such stage races in Ireland such as the FBD Milk Ras. It involves A comprehensive Database in SQL Server. A Management tool for setting up race information like Riders, Teams, Mountains/Points competitions, used for maintaining all of the race results information. A Web Based tool to provide the results with positions, times, team prizes(Top 3 riders of each team) and the classifications in the other competitions. The Web based tool may be a page which could be integrated into a Newspaper web site or the likes of Cyclingnews.com online results. As soon as the results are in the database they are automatically availabe over the Web so no knowledge of html is required of the user. The Management tool is written in Visual Basic and the Web-Based tool is written in JSP. The project was developed on Windows Advanced Server 2000. 85.Design By Contract - an Implementation in Java Stephen Hall I will be developing a tool that will test class conformance in Java using Design by Contract and an assertion based approach. Design by contract is a technique used to help ensure the correctness of software. A software contract is a specification of the behavior of a class and its associated methods. The contract outlines the responsibilities of both the caller (client) and the method being called. Failure to meet any of the responsibilities stated in the contract results in a breach of contract, and indicates the existence of a bug somewhere in the implementation of the software. Contracts increase the reusability and robustness of software while decreasing its complexity. Correctly implemented software contracts reduce the chance that software bugs could remain unnoticed during the testing of a program. There are three elements essential to defining a software contract: preconditions, postconditions, and invariants. Preconditions and postconditions define the responsibility of the client and method, respectively. Invariants define rules common to both the client and the methods. Defining responsibilities for classes and methods helps you to avoid writing redundant checks because methods and classes are contractually bound to fulfill their part of the contract. A method's preconditions represent the responsibilities that a client has when making a call to that method. Preconditions specify what a portion of a program's state must be at the entry of a method. If a method's preconditions are violated, then this is a breach of contract, and the method is freed from the responsibility of meeting its postconditions. It isthe responsibility of the client to meet a method's preconditions, not the responsibility of the method to verify that its preconditions have been met. Postconditions are used to specify a method's responsibilities. As long as its preconditions are satisfied, a method is responsible for leaving the program in a state defined by its postcondition. It is the method's responsibility to ensure that this state is reached, and the client can continue executing while safely assuming that the method has performed correctly. Application Language: Java Platforms: NT / Unix

Net-faves - John Canavan

My project addresses the problem of roaming profiles with Internet Explorer. Giving users the ability to store their bookmarks in an easily accesible online database. The key feature of the project is a Toolbar for Internet Explorer, written in C++, which authenticates the user securely and pulls their list of bookmarks from an LDAP directory service running remotely. Users also have the option of logging into their accounts via the web, with a PHP interface to the database also available.

www.postit.com - Elaine Kirwan

www.postit.com has been developed specifically for web users temporary file storage needs. Users create their own accounts online and are then free to upload files to the PostIt server where they are hosted for up to 48 hours. The upload/download can be achieved by using PostIt's own FTP client (for those with administrative rights to download it to their own hard drive) or the simple online upload/download mechanism. Users will be prompted by e-mail, 2 hours before the 48 hour deadline to begin to retrieve their files, else they will be purged to free up more space on the server. The main aim of the project is to eliminate the long waiting times associated with e-mailing files to home PC's from the office, college or even Internet Cafe's. It also provides a useful service to any user who has been caught out without any storgae media ie. Floppy disk or CD-RW. The project has been developed on Window's XP, primarily with Microsoft's new Visual Studio.NET using ASP.NET, C# and SQL Server 7 which has given me the oppurtunity to have a look at what the future of Internet development holds. This means that Internet Explorer 6 must be used in order to view the project. Adobe PhotoShop and ImageReady have also been used for all Web graphics. OS - XP Application Area - E-Commerce Language - C#

DCU Bookstore - Brendan Wall and Ciaran McCormack

We propose to create an online DCU bookstore where students can buy and sell second hand books aswell as purchase their recommended reading as new. The service could be run in conjunction with the students union and/or the campus bookshop. We propose that the site will be accessable through a variety of internet mediums eg pc,wap and palm pilot. We will use XML and stylesheets to create the different outputs depending on which client will be calling the server thus making the project client independant and relieving the need to write html,wml etc for each seperate client. An SQL database will store the student, book information etc which will be automatically updated or manually, through restricted administration access. We will implement active server pages/vbscript using microsofts iis as our server. Also we would like to implement SMS capabilities if we can get access to an SMSC. Since we also want the project to function as a real e-commerce application would we will also aim to acheive full security with openSSL.

Artificial Life Simulation - Stephen Molloy

I want to develop a 3d artifical ecosystem with automata living in it. I hope to simulate sexual reproduction and survival aspects of the sytem - food and water etc. I will attempt to simulate a range of species with differing intelligence. I will try to simulate: Families Herbivores Carnivores Plants Water & dry &fertile areas BALDWIN EFFECT I would like to develop the system to a stage that I can see the various effects of intelligence on the autoamta to their survival and evolution. APPROACH I will try many methods of simulation Neural Nets for the intelligence. Either genetic models or algoritms for evolution and reproduction. OS: Windows 95 and above Language: C++ Uses: OpenGL, Neural Nets.

SMS Email Client - Fergus Maloney and Patrick Mooney

Email2SMS is a mobile email solution, providing real time access to email accounts anytime, anywhere. Built entirely on Java Technologies, the solution allows users to fully interact an existing POP3 email account though SMS text messages. The solution consists of two main components: a powerful online administration suite and a backend SMS/Email Engine. The online administration suite allows users to manage their profile and establish sets of email filters. Email filters allow the user to prioritise incoming emails. Using these filters they can define which emails they wish to receive SMS notifications about. Filters may also be set up have unsolicited emails, such as Spam automatically deleted from the server. The SMS/Email Engine utilises hardware to send/receive all SMS text messages. Using a Nokia 5110 and data cable, we have successfully built a communications engine capable of parsing SMS requests. Notifications of awaiting emails are sent to the user, who may, by return text message, request additional parts of any new email message. Users may also create new emails or reply to existing ones directly, all through SMS text message. Fundamentally our software is about SMS interaction with some application or device. For this implementation are interfacing with POP3 and SMTP servers. This can very easily be extended to control many other applications or devices which are attached to the server.

A.I. Composer -Tradmaker - Conor Armstrong and Pádraig Kilbride

Our project attempts model that art of composition of music in a computer and explores the question of whether it is possible to reduce a creative process such as composing music to an algorithmic procedure. The program uses various randomisation techniques and given a set of rules of melody, combined with probabilities of certain musical traits occurring to generate new works of traditional Irish music specifically in the style of double jigs, single jigs and reels. The program renders its output to the popular standard midi file format so it can be used or edited with other sequencer programs. It is also useful a creative tool for composers and musicians of traditional Irish music. OS: MS Windows 9X/NT Language: C++ Project Area: A.I.

Virtual Chess - Niall Sheedy

My project is a virtual reality chess game. The game and optionscan be controlled by voice commands. The virtual chess board can also be manipulated with the mouse. There are no control buttons etc, making it more realistic. The game employs full En-Passant chess game rules. The game is networked via sockets to your opponent's computer who has the same consistent view of the game. The option menu controls game settings such as pawn colour, history of moves and other things. The game can be saved and later loaded and played across the network. All of these can be controlled by voice commands. There is also a chat room allowing opponents to communicate. The game is developed in Java on Windows NT/98 using Java3D,Java Speech, Java Sockets

Online Student Accomadation System - Jane McGuinness Beatty

Functions the system will perform. The main function of the system is to allow fresher students view the types of accommodation that are available, near the college of their choice, without leaving their home. The students can then choose the type of accommodation they wish, from a list of dwellings, which have been received from landlords, and the various accommodation officers from the colleges incorporated. The system provides a free of charge advertising medium to landlords wishing to rent their properties to students. Their property details will be entered into the database, which will allow the students view what is on offer. The system can then match their preferred criteria to what's available. The front end will provide a chat room facility, which will allow users that are logged on to the system, communicate with each other in real-time. Here they can ask questions, arrange meetings or meet new housemates, whatever the case may be. Landlords can chat with students, students can chat with students and both can chat with that administration staff if the need arises. Also on the front end, a message board will be available, again for users who have an account with the system. Here messages and comments can be left for whomever they are intended for. This means that users do not have to be present at their machine in order to communicate with each other. Her users can finalise arrangements and verify details concerning agreements. I want to use Oracle 8i DB and XML to develop this system.

Play 45 Online - David Roe

For my 4th year project I will develop a web site that will allow people to play the traditional Irish card game of 45 online. The game itself involves a complex scoring system with points awarded for certain hands, the winner being the first to reach a score of 45 points. The site will be fast, easy to use and will create an environment that a traditional player is used to. 2, 4 or 6 players will be allowed at any table and as many tables as are needed. Players will also be allowed to chat online. A player will be able to play against the computer if no other players are online, or if a table is a player short, i.e. if there are 5 players, the computer may make the sixth. In addition to the development of the website, the project poses challenges in regards to playing the game. The computer must be able to understand the rules of the game as well as the intricacies of the game such as robbing, wheels, jinks, trumps and the possibility of being decked for reneging. This will involve creating a simple form of AI for the computer so that it has a basic understanding of tactics and good practices as well as the rules of the game. This may be done with artificial neural networks and probabilistic predictions. Amongst other things, this will involve recognising weak and strong cards at any particular time. In games with partners there will have to be a guard against taking good cards from a partner. The cards will be shuffled after every game to simulate the way in which cards are shuffled and then cut. I am going to implement one specific version of the game but time permitting I will add other versions such as Auction 45's and other versions with more than 6 players.

Software Engineering Standards Assistant - Deirdre Slattery and Deirdre Kelly

Our project implements an interactive, visual, web-based software developer's "assistant". This "assistant" is for interpreting and applying specific standards, particulary "Software Considerations in Airbourne Systems and Equipment Certification (RTCA/D0-178B). This interactive visual web page provides guidelines for the production of software for aribourne systems & equipment that performs its intended function with a level of confidence in safety that complies with airworthiness requirements. The application will discuss the aspects of airworthiness certification that pertain to the production for airbourne systems. We have implemented a search engine on the site so the user can search through the many pages in our site. It will include various slide shows for the user to demonstrate various parts of the code. eg. structural coverage analysis, so in addition to a description of the steps he/she may need to follow we came up with examples of code to demonstrate how to do it. Also the user can send in or view comments about the site and improvement that need to be made.

Real-time 3D Cloth Dynamics Engine - Barry Ridge

As the computer games industry expands in the face of emerging technologies and increasing home-user computer power, the potential to create more detailed, immersive and realistic games is being gradually realised. In the spirit of this progression, I chose to develop a cloth dynamics simulation in a 3D environment as my final year project. Realistic-looking cloth is rarely seen in today's computer games and I have yet to see cloth in a game which reacts to stimuli. The engine I developed demonstrates cloth reacting to both user interaction and environmental forces. The project was built using Visual C++ and the DirectX 8 API. OS: Windows 2000 Area: Others

Patient Discharge Summary Form and ICD-9 Look-up for Tallaght Hospital - Aidan Lynch and Richard O'Connell

This project will consist of two main parts. 1. ICD-9 (International Classification of Disease) Lookup: This system of coding is globally recognised and used. This coding system consists of thousands of codes and apart from a handful of common codes doctors and clerical staff will not know a particular code off the top of their head. The first part of the project will be to develop a system for searching for codes that will be easy to use for all involved. The hospital's budget is determined by the amount of procedures and the complexity of procedures encountered in a year. A more complex procedure will mean more money in the budget due to the greater cost. Therefore accurate recording of the codes is needed. More accurate coding could result in as much as a twenty percent increase in the hospital's current 90 million budget. Another aspect to the codes is that they are sent to the ESRI (Economic and Social Research Institute). This is currently done on paper on a monthly basis when it could be automatically generated in weekly reports and emailed to the ESRI. 2. Patient Discharge Summary System: When a patient leaves the hospital they are handed their discharge summary form in a brown envelope. Instead of this, the automatically generated discharge form could be emailed to their G.P. The advantages of this would be speed and security of delivery, also clarity as opposed to the traditional hand written form. OS Used: Windows 2000 Professional/Advanced Server Languages Used: ASP, HTML, DHTML, XML, JavaScript, Java, XML Schema Area: Health Informatics

Fire Fighting Robot - Brian Carter

The Fire Fighting Robot (Sam) is built from Lego parts, and uses the Lego Mindstorms Programmable Brick as its "brain". Sam locates a fire, extinguishes it and returns to its starting point or home base. The system utilises a number of sensors, from touch to rotation, to achieve its goal and is programmed using Visual Basic and RCX code. Sam is a behaviour-based robot; the control system is broken down into horizontal modules, or behaviours that run in parallel. It follows the rules of Brooks Subsumption architecture, where control is layered. Higher layers subsume the roles of lower level layers when they wish to take control. The bottom layer being "avoid obstacles" and the top layer "locating the fire". The robot relies on the accuracy of its navigation technique (Proportional, Integral, Derivative control), and dead-reckoning, to know where it is at all times and for the journey home. Sam is a totally autonomous robot that displays complex and useful behaviour through the operation of a not necessarily complex control system, and could in theory be used to fight fires where humans could not, (hazardous chemical fires, etc.) that is provided that the Lego bricks didn't melt!

25 over the Internet using Voice Syntheses and Voice Recognition - Ciaran Ferry and Enda McLoughlin

For our 4th year project, we aim to develop a version of the infamous Irish card game 25, which will be accessible to those who are visually challenged thanks to the inclusion of speech technology as well as being accessible over the internet. Our application will allow for one-player games where the player will compete against the computer as well as providing for two-player games where players at different locations may compete against each other. In the case of one-player games, it will be necessary for the computer to be familiar with the rules of the game and make decisions as to what card to play next. Upon completion, we hope that the computer will be able to create the same competitive atmosphere which exists in a real-world game of 25. OS: Windows 98 Languages: Java, java swing and the Java Speech API Area: Network Systems

Agri-Tech, Department of Agriculture Online Simulation - Linda Durnin

This application tackles the reality which currently confronts many individuals who liaise with the Department of Agriculture, from both a client and employee perspective. The system will involve the deployment of a web-based server sided application which may be used by the following individuals: 1.Farmers: The currently inaccurate and archaic pen, paper and telephone approach, which many farmers are forced to adapt as regard stock control, sales, births, submission of premium applications for animals and crops, along with queries regarding delayed payments, will all be eradicated. It also provides a solution to the cumbersome method whereby the identity cards of each and every animal receiving premiums or inspections must be mailed to the Department. 2.Department inspectors: They, upon successful login, can access their current timetable, along with appropriate farmer information and medium scale client maps. 3.Department administration staff can access and process applications and registrations submitted to the Department of Agriculture backend SQL Server database, using a user-friendly front end. Furthermore the modernizing the Department's system will also comprise of a Java based network application, which will connect the various Meat Factories or abattoirs throughout Ireland, to the Department by means of a network connection. This will enable the appropriate information on slaughtered animals, and the herd from whence they came, to be sent from the factories' database in their system, to theDepartment's. The Department can then process this information and update the appropriate farmer's record on their system and send out premiums accordingly. This e-commerce application is designed to fill the technological void that currently exists for many involved in one of Ireland's biggest and most fundamental industries to date. Programming languages: ASP, VBScript, JavaScript, SQL, Java OS: Windows NT Database: SQL Server Area: ECommerce

Online Dancing Resource - Amanda Marsh

My fourth year project is to develop a web based multimedia project for teaching Céilí dancing. It aims to teach a few basic traditional figure dances online by using a mixture of diagrams and explanatory text. There will be music accompaniment to this so that as each part of the dance is learned it can be practised with the music. On completion of each dance the music is played all the way through so the dance can be performed properly. The reason for choosing to implement this as a web based project is that online it has the potential to reach a world wide audience. In particular it will be useful for dancers training for their teaching exams. For implementing the project I will run it on an Microsoft IIS server. The dynamic nature of the project was implemented using ASP, with XML, XSL, HTML, JavaScript and VBScript. Graphics are created mainly in Paint Shop Pro. The moving illustrations are designed in Flash and the music accompaniment added either in Flash or with a separate applet developed with Java.

Tiger Compiler - Cathal Haughian

There are several stages to a compiler, Lexical, Syntactic, Semantic, Optimising, Instruction selection and the Register allocation stage. The output of the register allocation stage is 8086 assembly language and I will try to implement the Register Allocation stage so that the output assembly code will suit the D6

Treoir - An Irish Language Search Engine - Niamh Breslin & Julie Kerin

Our project involved the design of a search engine, Treoir, which only returns webpages written in the Irish language. We developed an intelligent spidering system, which explored the WWW and downloaded webpages only written in the Irish language. We used the language recogniser we developed for our 3rd year project to verify that the page to be downloaded was written in Irish. When a query is inputted by the user, the search engine, using the document length normalised TF/IDF ranking formula, returns pages in order of their relevance to the query. Languages: Java, Perl

Festival - A Dialectal Implementation - Ciarán Kenny

The purpose of this project is to generate a voice with an Irish accent for the Festival speech synthesis system. The voice will be constructed using the linguistic theory that modern Irish accents and dialects are derived, in part, from our Irish-speaking ancestry. As such, a collection of diphones (sound units) will be extracted from a lexicon of Irish and recorded. These will be mapped to English pronunciation rules and used to synthesise speech. OS: Red Hat Linux, Windows 2000 Professional Application Area: Speech Processing Language: Java, Scheme

Interlingua Machine Translation - Nicola Reville

I aim to create an Interlingua Machine Translation system. The system will take in a sentence of French or English as input and output the correct translation in the target language. I am using the Interlingua system of Machine Translation which analyses the source text into a language-independent representation of the text, and this representation is then used as the basis for the generation of the target language text. In this way analysis and generation are totally seperate components but will be larger and parse deeper than those in a transfer-based system. Ambiguity is one of the biggest problems facing NLP and machine translation, so I have designed the system to solve some of the lexical and structural problems associated with translating ambiguous language. The system is written in Prolog and I hope to integrate it with a web interface using HTML and Perl CGI-scripts.

Automatic Question Expansion and Search - Joe Lenehan

The project runs from my DCU website. The interface uses Html and sends the user's question to a Perl Cgi Script. The Cgi Script changes the query to an acceptable format for Prolog and then sends the query to the Prolog critiquing system. The critiquing system expands the query so as to produce a new search string that will yield better search results than the original query would have. The Cgi Script takes back this new query and sends it to a search engine with the use of JavaScript. JavaScript is also used to display the results on the original query page.

Anaphora Resolution - Carol McDonagh

Anaphora Resolution involves the resolving of a pronoun with the preceding noun that it refers to. An example: The girls watched the dog play. They laughed at it. People for the most part have no problem with this discourse - they intuitively know that 'they' refers to the girls and 'it' refers to the dog. However a computer system has no such intuition, when it tries to process a text. This can lead to problems especially in the areas of Machine Translation and Information Extraction. My project aims to tackle this problem. My program can take any HTML tagged text, and without any linguistic knowledge (no parsers, dictionaries, part-of-speech taggers etc) will find all the nouns and pronouns in the text and then run a series of tests on nouns in a certain range before the pronoun to determine which is most probably the antecedent for the pronoun i.e. which noun the pronoun is referring to

POS Tutoring System - Claire Healy

POS Tutoring System is website developed as an aid for learners of English as a foreign language. It focuses on the eight main Parts of Speech (POS) and aims to help the user develop an understanding of the main POS in English and their use, through tutorials and exercises. The site uses colours to highlight the POS in the tutorials, the POS Highlighter Tool and the exercises. This approach is based on the idea that colours enhance learning, by making the text come alive. The use of colours in a text highlights those words of interest and also keeps the reader interested in the text. The online POS Highlighter Tool incorporates a previously developed POS tagger, written in JAVA and a highlighting program written in CGI using PERL, linked by JAVA servlets. The web tutorials and exercises are written in HTML and CGI scripts.

A Sub-language MT System for the Freight Transport Industry - Tadhg Cooke

The aim of my project is to develop an MT system suitable for use in the freight transport industry. Many smaller freight transport companies are at a huge disadvantage because due to labour costs, etc. they cannot afford multilingual staff, thereby reducing potential business in Europe and beyond. I aim to develop this project furtherand expand its capabilities for realistic use within the industry. This MT system would enable queries and complaints to be inputted in the user's language (presuming the user's language is French or English) and the resulting text can be sent in the target language to its destination. The freight transport industry employs a range of special vocabulary, which I aimed to represent in some way in this project. The system will be implemented in Prolog with a HTML/CGI user interface.

Information Retrieval from Natural Language Questions - John Judge

My project aims to improve on conventional Information Retrieval methods by retrieving the answer to a user's question, as opposed to a document, which contains the information. It is a closed domain question answering system, using the DCU timetables as its domain of reference. The user's question is parsed into a logical representation by a grammar to extract the question focus based on semantic information. This representation is then used to query the database to retrieve the appropriate answer, which is then returned to the user. The grammar and logical processing of the input is handled using a PROLOG DCG (definite clause grammar) and the interface, and input manipulation is handles using a standalone Java application, or using HTML and Java servlets.

RTF to HTML Converter and HTML File Translation - Jane Dunne & Laura Hanratty

This project consists of two main parts. The first part converts an RTF file into a HTML file and in the second part, this converted HTML file is translated using an online translation system. Our program accepts a directory of RTF files as input and performs both procedures on it. Comparison tools exist within the system which are used to make sure the files have not lost any information in either process. Our tool works on the windows platform. All the code is written in Perl with the exception of the comparison tool, which is coded in Java.

Compacting a PCFG for Improved Parsing Efficiency - John Dowling

In the last decade corpus based and statistical methods in computational linguistics have become very widely used. Various corpora provide the necessary framework for the extraction of broad coverage grammars in the form of probabilistic context-free grammars. These grammars, however useful in the domain of computational linguistics have been shown to grow exponentially with respect to the size of the corpus from which they have been extracted. In my project I have experimented with a number of different grammar compaction techniques, namely the threshold and rule-parsing methods and used these techniques to compact a large grammar extracted from the Penn Treebank II. These grammars have then been used to parse a section of the Penn Treebank with precision and recall figures being calculated to assess the effects of the compaction on parsing efficiency and accuracy.

Machine Translation System - Allan Hughes

I have designed and implemented a Machine Translation (MT) system. This MT system translates radio/cassette player manuals from English to German and German to English (bi-directional). The system is written in the PROLOG programming language and will be run from a user interface on the World Wide Web using CGI. This MT system adopts the indirect-transfer approach. This means when a sentence is input to system it will be subjected to the three processes associated with an indirect-transfer approach. These processes are analysis, transfer and generation. The use of a sub-language (i.e. operating instructions for radio/cassette players) means that the coverage of text to be translated is restricted and this ultimately means that there should be an improved output. The sentences the system translates are those which are typically found in a radio/cassette player manual. This means the system can deal with imperative, indicative, active and passive sentences and also hard cases such as head switching and relation changing and combinations of these.

Bilingual Translation of Electronic Hotel Bookings - Alonna Byrne

The aim of this project was to design a Transfer-Based Machine Translation System. The specific area, which I chose for the system design was e-mails for hotel reservations. The system can translate fourteen different types of sentences, six of these being "hard case sentences"(where the structure in French differs from the structure in English and therefore the translation of this type of sentence is more difficult). As there are only fourteen sentences the system is quite small. However the sentences that I chose highlight a lot of the problems that can occur in the design of an MT system. My main aim was to show that these problems could be overcome and therefore this system could be expanded, without very much difficulty, into a much larger project.

Developing a Chunking Grammar for Newspaper Articles using the Xerox Incremental Parser (XIP) - Patricia Dunne

My 4th year project involves writing a chunking grammar for English Newspaper articles using the Xerox Incremental Parser (XIP) [Aït-Mokhtar, Chanod and Roux, 2000]. A chunk is basically the non-recursive core of a standard constituent, extending from the beginning of the constituent to its head [Abney,1991]. Parsers based on the chunk parsing technique are robust and very fast, both of which are essential requirements when analysing vast quantities of naturally occurring text. XIP includes a tokeniser, morphological analyser and HMM tagger which process raw text prior to chunking. It also includes a rule-based disambiguation module, which I employed both to refine the POS assignment for certain under-specified tags (using contextual information at sentence level), and also to correct recurrent tagging errors. I developed the chunking rules by identifying constituent patterns from a corpus of approximately 50,000 words of newspaper articles from the Wall Street Journal. I then tested the grammar on a new corpus of 500 randomly selected sentences from the Penn Tree bank in order to compare the output from my parser with the non-recursive constituent structures from the Penn Tree bank. Platform required: Unix for Solaris

Automated Irish Derivational Morphology - Teresa Lynn

As the title indicates my project is an automated implementation of Irish Derivational Processes. In Natural Language Processing it would be time consuming and wasteful to list all words in the lexicon, as many words have multiple forms. Instead these multiple forms may be accounted for with Two-Level morphological rules that indicate the various affixation processes which some words can undergo. Morphographemics (spelling rules) can be implemented using finite-state automata. I have used Finite State Tools developed by Xerox at XRCE (Xerox Research Centre Europe) :

Term Retriever - Joanne Lynn

Term Retriever is a tool which seeks to identify and extract terms and their definitions from a corpus. Inspiration for this project came from Jennifer Pearson's book "Terms in Context" (1998 Amsterdam/Philadelphia: John Benjamins Publishing Co). A number of specifications and criteria are outlined in Pearson (1998) for the procedure and my aim was to implement Term Retriever according to these. Using Perl and focusing solely on the GCSE corpus, my tool firstly identifies an initial set of term candidates according to a set of eight syntactic term formation patterns. This output is then further refined by categorising the term candidates into either Simple or Complex Formal Defining Expositives. Areas where a tool like Term Retriever could have an impact include special purpose corpus construction, text evaluation, and terminography.

French Derivational Morphology Tool - Siobhan Fergus

The objective of this project was to build a Two-Level Morphological tool for French derivational morphology. It will accept a word, derive the root and will return all possible derivations of that root (specifically for that meaning) which can be of any word category (e.g. noun, adjective, adverb). This project has been developed using Xerox Finite-State Morphology tools; xfst and lexc. These tools combine phonological rules (xfst) with a lexicon (lexc) to create a bi-directional system that provides word derivations.

A Web-based Interactive Language-learning Tool - Cara Greene and Katrina Keogh

A CALL (Computer-Aided Language Learning) tool to teach primary school children aged between 10 and 13, beginners French and German. The software is designed with the learning needs of a particular group of students in mind. Its main purpose is to provide these children with a foundation knowledge of a foreign language so that the transition between primary and secondary school is made a little easier. As part of the research for the software and teaching methodology, we taught French and German in a local primary school in a disadvantaged area - Virgin Mary Boy's National School in Ballymun. We held two ? hour sessions per language per week, for a period of six months. During this time we developed the curriculum and brought the children to DCU on a regular basis to test the software to date and provide feedback. The final package will contain a series of learner pages, which will include sound files for pronunciation, along with a choice of 2-3 exercises on each learner topic, to reinforce the material learned. The exercises will not only examine written and comprehension skills - but also aural ones. Each user must log-on to the system and their progress is recorded so that a teacher can later login and examine their progression. Programming languages used: Java, JSPs, XML, HTML, Javascript. Required Resources: Tomcat 3.2.4

A Recognition System for Regional Irish Accents - Maureen Dunne & Sarah Clarke

Of all the aspects of the human voice that relate to speech processing, not very much work has been done with regard to accents. The aim of this project was to build a recogniser sensitive to regional Irish accents. Initial research involved experiments to determine what listeners perceive to be "strong" accents. Based on our findings, we chose four locations (Donegal, Sligo, Cork and Dublin) and took sample recordings of the accents native to these areas. Using the Hidden Markov Model Toolkit (HTK), models were trained for each accent. Given input of a distinctive accent, the recogniser outputs a probability of it being one of the four modelled accents. Changes in pitch were also taken into consideration as possible determining factors.Such a recognition system might be used as part of a more complex dialogue system.

English Vowel Pronunciation Guide using Vowel Transformation - Diane Ní Annracháin

When it comes to learning a foreign language, proper pronunciation is one of the key factors that aids fluency in that language. Non-native speakers may experience difficulty, however, with the pronunciation of certain vowels. The aim of my project was to create a system that aids the vowel pronunciations of non-native speakers of English. The key factor to this was learning a 'transformation' that could be applied to a mispronounced vowel, thereby transforming it into its correctly pronounced form. According to the source-filter theory of Gunnar Fant, speech can be separated into 2 parts - 1) a source which is modified by 2) a filter. The source is represented by the larynx and the filter by the vocal tract. Using this theory, my system applies a transformation to the filter, and then re-synthesises the user's speech using their own source and their modified filter. The user of the system, therefore, hears his/her own voice correctly pronouncing the vowel they were attempting. With their own voice to imitate, their pronunciation is greatly improved. The system was implemented using MATLAB.

On-line PATR-II Parser - Sandra Carroll

My project is an on-line PATR-II parser. PATR-II was initially developed by Stuart M. Shieber at Stanford University. It can be considered as a form of encoding linguistic information, specifically the syntactic structure of a given language. Given a set of PATR-II grammar rules and lexical entries inputted by the system user, I propose to parse an arbitrary sentence, also inputted by the user. Determine whether or not the sentence, is syntactically correct, and if so display a tree structure representation and a PATR-II feature structure representation of that sentence. The interface design will consist of integrating my system with the system already written for CF-PSG parsing by former CL undergraduate students.

F.L.A.M.E - Fire & Emergency Medical Services, Logistics, Administration and Mobilisation - Doug Barnes and Paul L'Estrange

Our project is aimed at providing a software system to the Fire Department and Emergency Medical Services, and is designed to provide for efficient database management and administration, thus improving logistical planning, decision-making, and crucially, emergency response times. The Mobilisation module will evaluate the appropriate response to a call out situation. It is based on a number of stations in Dublin. Each station has its own database of available fire appliances, ambulances and emergency vehicles, which they normally dispatch in response to a call. Each incident type has been assigned a dispatch protocol, which is implemented in response to a call out. The nature of the response will be predicated on that protocol. It could involve a "cardiac arrest" or could simply be a "fire in a skip". If the vehicle types required are unavailable due to a prior call out, our system implements a procedure whereby that stations "back up station" joins a queue and will automatically supply the requested vehicle. Our system can take into account the distance between the scene of the incident and those stations nearby. The system allows for immediate updating, facilitating accurate turnout information. For instance a vehicle returning from an incident is recognised as "mobile and available", and so is considered for any subsequent call out that may occur before it returns to the station. The database also includes 9 forms that cover every day issues within the Dublin Fire Service, from "staff details" and "equipment logs" to post operational incident report forms. A user-friendly SQL interface is provided allowing for queries and updating to be carried out easily. The interface facilitates the execution of any standard SQL query. Data may also be input through the forms. A help guide is also provided. Platforms: Windows , Unix Programming Languages: Java Swing, Java Database Connectivity, Structured Query Language, ORACLE database

Home Heating Oil Online Ordering System - Olwyn Kerrigan and Orla Dowling

The aim of our project is to provide a portal for the Oil Distribution sector. Customers may logon to a secure environment through the internet. They are presented with a number of services including the facility to view their account and order oil. The system also allows for new users to register on the site and view the many promotions and services available. The project will be implemented through Windows NT using an Access Database (2000), Active Server Pages (ASP), Internet Information Server (IIS), Dynamic Hypertext Markup Language (DHTML), Open Database Connectivity (ODBC), Jscript and Vbscript. Programming Language: Jscript, Vbscript Platform: Windows NT Workstation Project Requirements: IIS, Visual Interdev, ODBC driver

Adult Literacy Learning System - Andy Flood and Sinead Buggy

Project Description: The aim of our project is to provide a system - Adult Literacy Learning System (ALLS) - which will offer an alternative learning technique to the current learning schemes in operation today. The majority of the current computer based learning tools are only available to use as part of an organised tutor to student session or in libraries under tutor supervision. The problems we see with this approach is that students are restricted to only their allotted time per week with the tutor. Our system can be used as much as required, whenever is convenient for the student, and they can go back over material as many times as they like until they are satisfied with their progress, without feeling embarrassed that they are progressing too slowly. Also, people who may be embarrassed by the fact that they need this sort of tuition can have complete anonymity using our online system, after the first initial lesson to learn how to access and login to the system. We hope that our system would go some way towards helping those with learning difficulties. We would expect that students of our system would gain more confidence in their ability to carry out normal everyday tasks (such as shopping, reading road signs, giving their child the correct amount of medicine......), which prior to the course would have been very problematic for them. We hope to achieve this by creating an online learning environment, providing audio/visual material and interactive tutorials. Programming Language: java Platform: Win95/98/2000/Unix