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

Final Year Projects - 2001
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 2001. 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.

Project TeamRoom: A Distributed Communication Tool - Raymond McCormack

The aim of this project is to implement a platform independent, CORBA compliant, robust multi-user chat conferencing tool using a bulletin board and a whiteboard for demonstration purposes. Graphics support is added via a distributed whiteboard, on which clients could draw and modify. Control will be implemented on how different client users access all or part of the distributed whiteboard. Audio support will be added to allow direct voice contact between the users. It is essentially a multi user paint package with an integrated chat and speech tool implemented in Java. The application has uses in both business and education fields where for instance workers can, from the comfort of their own offices, participate in a live session across a network to work on a common project design. The system interface will consist of both a paint package which will allow the user to use basic drawing functions much like those found in Microsoft Paintbrush and two chat tools which will allow the participants in the conference to communicate textually and orally.

D6 Assembly Program Animator - Andrew Martin and Ray Fitzharris

The idea for this project came about as a result of talking to a number of first year students and the initial difficulty in understanding the concepts behind assembly language on the D6. The "D6 Assembly Program Animator" will provide a graphical representation of the D6 processing an assembly program. It will produce a number of snapshots of the system - a picture of the D6 after each instruction is executed. Some Instructions (PUSH, POP, MOV CX, AX, etc) will be animated.

The "D6 Assembly Program Animator" will deal with the sub-set of instructions covered in the first year lab tutorial and a limited number of components of the D6. Other components which could be added to this system include a complete environment for developing assembly programs on the D6 including a text editor and an interface to interact with TASM and TLINK to help compile the program and upload it to the D6.

Multiplayer Network Game Server - Brian Gavin and Martin Casey

The aim of our project is to develop a computerised version of the board game connect 4. The game can be played in either a one or two player modes. The one player game will be played against a computerised opponent. The two-player game will allow the user to connect over a network with another human opponent. We intend to vary the typical Connect 4 game by adding the option to allow the user change the game from ‘Connect 4’ to ‘Connect X’ and also to change the size of the playing board from the standard 7*6 size. The essence of the program will be a client/server based architecture using Java as our development tool.

Audio-Visual Guitar Tutorial - Barry Larkin

The object of my project is to create an easy to use and useful web based tutorial system for someone learning to play the guitar. The project will take a different approach to this problem than existing web-based tutorials. The tutorials will be more like real guitar lessons in that they will have audio and visual examples demonstrated simultaneously which is unlike anything available on the web. Each lesson will explain simply the musical theory of what they are demonstrating followed by a practical demonstration for the user in the form of animated finger positions accompanied by sound.

Talk Now Translater - Noel McCullagh and Yann O’Brien

Talk Now Translater is a web-based multilingual voice-conferencing package that will allow people who speak different native languages to "talk" to each other via the Internet. The project idea has only recently become feasible due to massive advances in the areas of speech recognition, speech synthesis & machine language translation. The obvious benefit of this software is that it allows n users speaking m different languages to meaningfully converse with each other. Nearly 60% of Internet users are native speakers of English (Forbes, 99). Therefore, a goal of this software is to provide accessibility to non-English speakers so that they may interact with the majority of users. Standard non-voice enhanced chat rooms require that users are able to type at a reasonably fast pace - this technology should also open up the world of chat rooms to those who can use computers but who feel their typing skills are inadequate and therefore tend to shy away from chat rooms.

On-line Typing Instructor for the Classroom (OTIC) - Cathal Cronin

OTIC stands for On-line Typing Instructor for the Classroom. It is my fourth year project to interactively deliver a typing tutorial to a classroom of students using the web. OTIC is a virtual Computer Based System (CBT) which students will take by themselves. The only role the teacher has to play is to monitor each students performance to decide whether or not the student is performing well at OTIC.

A student will start at a basic level of typing and progress up each stage. A student can only progress up each stage providing the previous stage has been completed. After each stage there is a test which the student must pass to progress.

A teacher can log-in as an administrator, As an administrator a teacher can create, delete and monitor individual student accounts, update lessons and post messages. I will implement OTIC using primarily servlets and applets.

PC to Palm over Bluetooth - Michael Franklin and Patrick Downey

The aim of this project is to connect a PC and a Palm Pilot over a Bluetooth Wireless Connection. The idea is to run an application on the server device (PC) that will communicate with a client application running on the Palm Pilot. The devices will connect using the Service Discovery Protocol (SDP) of the Bluetooth Protocol Stack. Data will be transferred between the devices over a wireless connection. Development tools will include Microsoft Visual C++ (for the PC application), Metrowerks Code Warrior and a Palm Pilot Emulator (for the Palm Application) and the Ericsson Bluetooth Development Kit (including Bluetooth prototype electronic chip boards).

Global Eyes - Dave Byrne

In today's world the benefits of using globalization methodologies in software development, are huge. It allows companies to target more markets with their products and it allows them to do it faster and cheaper. Often, however, developers do not have the time or skills to write internationalized code.

The objective of this tool is to allow developers to perform internationalization and localization operations on application projects that use the Java programming language, saving hours in development time and training. The tool will automatically extracting message strings from source code, and there will be a facility to allow translators to translate the generated message files for localization. In todays applications, multimedia is used extensively and is often culture-specific. A facility will be providing to view images and video, and to listen to audio clips, that have been used in the Java project, so that a developer can easily see which need localization.

GPS Location Server - Justin Walker CA4

Application will locate vehicles (taxis, buses, etc, ) in a city and display these locations as icons on a graphical map on a PC screen. Global Positioning System (GPS) technology will be used to locate the vehicles.

The GPS satellites will be used to calculate the position of a GPS receiver. The satellites broadcast its unique navigation and identification signal that the receiver decodes and uses for calculation purposes. The GPS information is typically about 60 characters long and data consists of longitude, latitude, bearing and altitude. This GPS information will be sent back to the PC that is running mapping software along with a mobile phone to receive the incoming messages. Every time a new position update comes in, an icon depicting the vehicle will be automatically updated on the graphical map. Visually, on the PC the user will be have a good overview of where each vehicle is.

Secure Communication Without Encryption - Anne O’Reilly and Sharon Tobin

The purpose of this project is to provide confidentiality without the use of encryption. The development of this manner of software is, we feel, desirable, owing to the very many legal issues which arise from the exportation of encryption software from a number of countries.

This method of confidentiality is achieved by interspersing invalid messages with invalid MACs with the valid packets to be sent. The receiver can differentiate between the two by calculating the MACs using the secret key and discarding the ones for which the MAC does not compute correctly. Both a valid and a number of invalid messages will be sent with the same serial number to prevent a simple 50/50 chance of the intruder guessing which is the right message.

Relational Algebra Animator - Deirdre Pentony and Marie Mooney

This system is based around a tutorial for beginner or advanced database Students. It covers different sections including 1) Relational Algebra 2) Data Modeling and 3) Inference Axioms.

It allows the user to enter in their own tables and then allows them to perform SQL or algebraic queries on them. The user may also create data models (i. e. ER, EER models) from predefined or stored text. The system also permits the user to carry out proofs on various Functional Dependencies in a particular Relation.

All results, which are obtained, are displayed in a step by step manner, where the user can see where each answer is retrieved. The Front end is created in Java, and all information needed is stored in XML data files. All information, which is entered, is parsed for error detection, and only stored in XML format when successfully parsed else an error message is displayed.

VIRTUAL FOOTBALL - Donal Burke

Virtual Football is project, which simulates a football match between two teams, the computer's team and the user's team. The user inputs its desired formation, e. g. 4-4-2 or 3-5-2, and strategy, and then the match commences. While the match is taking place the computer's team tries to model the behaviour of the opposing team and develop a superior formation and strategy. It will use a form of Artificial Intelligence to decide on its tactics and strategy, i. e. when to pass, when to tackle, how the players should position themselves around the field.

The project will show how Artificial Intelligence and pattern recognition can be used to model the behaviour of the players. The players will respond to certain situations differently each having their own characteristics and behaviour patterns. It demonstrates that the two teams show that they have some degree of intelligence. The computer's team learns from the opposing team's style of play and adapts to changes in the opposition’s tactics by making changes to it's own.

DRIVE (Drive In a Virtual Environment) - Peter Foran

The aim of this project is to create an Interactive Driving Instruction tool. With the system, a person will be able to use the techniques they have acquired from driving lessons and practice them in a simulated test environment using a physical steering wheel.

DRIVE will provide instructional material to help teach the user improved driving-test techniques and will simulate an actual driving test (including a virtual oral-test). The project will be developed in C++ using DirectX libraries to create the 3D environment and handle user-input.

Camera Motion Detection from Digital Video - Jodie Foley

When digital video comes in a compressed format, e. g. an MPEG stream, it is possible to extract information from this stream regarding the video content. It is proposed that global camera motion, i. e. pan, zoom, etc. may be determined from the computed motion vectors taken from an MPEG stream.

This project aims to develop, implement and test a global camera motion algorithm which can detect camera panning and camera zooming while taking object motion into account. (The movement of objects within a camera shot may make it difficult to accurately determine the movement of the camera itself). This algorithm is intended to assist with the editing, storage and manipulation of MPEG video streams.

Internet Company Analysis Tool - Áine Miggin

There is a huge amount of raw financial data available on the Internet regarding publicly traded companies. Unfortunately, most financial web sites are structured in a static way where certain data for each company is displayed in a predefined template format. This is valuable if you require limited standard information. The value could be significantly increased if it were possible to customize this view. Ideally it would be possible to aggregate data from multiple sources on the web in a way that makes it easy to do further financial analysis. This project provides a methodology to do this.

UniCard - Kabir Vaderaa

The objective of this project is to produce a smartcard system for DCU using JavaCard technologies. The project uses both a Gemplus Javavard(211 is), which has an 8 bit processor and a Gemplus Reader(GEMPC410). The Project is broken up in to four main sub applications, Library, Student Union, Electronic purse, Course details.

The Library section models that of a library system except that instead of enter a student number on the system the card is placed in the reader and relevant details such as books on loan, are stored or removed from the card. The Student Union application will show details such as bar membership, and tickets bought for college events. A student will be allowed view these details, but the student Union will be the only ones allowed change these details.

The Electronic purse will be a simple debit credit application where the Student can credit the card with cash, and relative facilities on campus will be able to debit these amounts from the cards. The Course details will be a simple application displaying all relevant details Regarding a student. This application will allow administrative staff view and change student subject choices, and personal details. All of the above application will be integrated will cross referenced with a SQL Database.

Biometric Hashing - Andrew Duffy

If a digital ID is stored on a smart card or small computer it can easily be stolen. Even if the hardware is protected by a biometric such as a fingerprint or signature the secret ID is stored in the clear and could be accessed by bypassing the security.

This project demonstrates a method of converting a handwritten signature into a number that can be used to encrypt a digital ID. In order to use the digital ID the owner must use a stylus to sign their name and thus generate the key. Since the signature is not compared to a database of samples but is used directly to recover the secret this could be more secure than a traditional system.

PESTER: A Platform-Neutral Distributed Groupware Component - Dave O Connor

This project is a groupware compnent, that can be used in conjunction with a company's existing groupware solution, or independantly. It provides a facility for instant messaging between users, and the storage of user metadata for retrieval by authorised users of the system. It is designed to be extensible to most kinds of data being sent or stored as metadata (i. e. certain image formats), and runs over the standard HTTP protocol, using a SOAP-like system for simple remote invocation between client and server.

The Diabetic Monitor - Ambrose Bourg

The Diabetic Monitor is an application that helps a person with diabetes control and manage their Blood Glucose data obtained from routine sampling with a blood glucose meter. It will allow the user to enter the date, time, and value of glucose readings and help them fine tune their Insulin control by generating statistics, graphs and reports that can be used by the diabetic nurse or doctor. It will also provide them with a prediction of a change in Insulin which will be based on changes for a diabetic over a years period. The main problem is that the logbook is just a flat entity, a list of readings(tests) with attached times. It is very difficult for the diabetic to interpret these results and get an overall image of how good or bad their control is. The main objective of this project is to help the diabetic(and specialist) interpret the Blood Glucose tests in a useful and meaningful way. Making sure that the most is attained from each reading.

Java Remote file sharing - Sean McClory

The objective of this project is to provide a Java application which will sit on the desktop of any Java supported Operating System. The application will be a peer, acting as both client and server on interactions with a network of similar peers. It will utilize the Gnutella 0. 4 protocol.

This application will allow many users to share files of any type over a decentralized network, unlike Napster, Gnutella has no central servers to which it can connect for information. So before it can begin swapping files, our peer must be told of at least one other peer which to which it can connect. The main objective is to fix a lot of the problems that already exist with some of the other peer implementations, these include: Flood Protection, Spam Protection, Repeated Queries, Bad Packets, Bad Users, FreeRiding.

Ordinance Survey Creative Imaging System (OSCIS) - Patrick Maguire and Declan O Donnell

This project is a Web based application that takes information from a 2D map and allows a user to create a 3D environment based on that map.

The information is gathered from the standard symbols and their locations on the map. Any information gathered from the map is stored in an Oracle database for future reference. The project is created using Java 1. 3 and the Oracle 8I Database system. It is capable of running in Windows NT.

Distributed Workflow Management System using Jini - Alan Murphy and Gareth Penrose

The objective of this project is to investigate the use of Jini in an enterprise-wide, scalable application. This is a distributed, component-based system that models workflows in an organisation, electronically. An example of a workflow would be: a user fills in a timesheet, which is then automatically sent to the relevant line manager

for verification, then sent on to the HR department.

Built on top of Jini, it should demonstrate the ability to have automatic load-balancing and failover properties with the minimal of coding. It is envisaged to use this as a framework to build more enterprise critical applications.

SMS-to-Físchlár interface - Andy McGeady

This project will involve the investigation of designing a SMS text messaging linkup to the Físchlár web demo system with an eye to integrating it fully into the system when it is completed. The emphasis will be primarily on investigation rather than immediate implementation because nobody is really sure either how well an SMS interface would work in practice, or indeed how far such an interface could be developed in terms of a user being able to fully interact with the system.

I had originally consulted Alan Smeaton about an idea for a SMS-to-internet (and vice-versa) messaging interface. This is an extension of that idea which would link up to the Físchlár system: as text messaging has developed into a popular communications medium due to its low cost and efficiency, a simple SMS interface to the system would have great user benefit and would be much more straightforward and easier to use than the current unwieldy WAP interface.

Físchlár would use the text message mode in order to communicate with users and users would send messages back with minimal keystrokes required. For example, Fischlar may ask if a user wished to record a certain program (based on certain pre-chosen preferences) on that day. The user would then simply reply to the message including a code (111 for yes, 110 for no) if he/she wanted that program recorded and Físchlár would duly record the program. It will also be investigated if it would be feasible for users to instigate the communication process themselves. When programs have been recorded users can be notified by SMS … as users wish to change their profiles they can use SMS messaging to do this. All this removes the burden of having to use the desktop/web interface to Fischlar for short tasks. If time allows, the interface could be extended and made more complex including more varied options for the user.

It is planned that the DCU campus residences will serve as the primary testing population for the SMS interface, since students there with web access a) have a high-speed link to the system, and b) almost invariably have mobile phones. A further advantage to this population is that if students, often pilloried as being one of the laziest groups in society today, find that they could use my system simply, quickly and of course cheaply, then it would bode well for its success in the wider market.

VRML World Builder - Gerald Willmore

My project is a standalone application which will allow a user to create a virtual scene from a library of objects using mouse input. The user will start with an empty scene and will be able to add, delete, move, rotate, and manipulate the objects in the scene using the mouse. The application will consist of one window viewing the world in 3D and another 2D overhead view of the scene. The user can then move around the scene using the keyboard, or go directly to a particular region of the world by clicking on that region in the overhead view. The project will be implemented using OpenGL and Win32 programming.

Parse::Combinator – a combinator parser for Perl - Dave Madden

Parse::Combinator is a Perl 5 module. It augments Perl’s native regular-expression-based text-handling abilities. Combinators (and combinator parsers) are originally from the field of Functional Languages such as Haskell, ML and Miranda. Parse::Combinator is a Perl implementation, based partially on the academic papers relating to Functional Language combinator parsers. A combinator is a higher-order function. In the case of Parse::Combinator, combinators are "metacharacters" which allow programmers to construct complex parsers. Combinator-based parsing is more expressive and readable than regular expressions.

Jumble.com (Online Auction) - David McMahon

This project is an automated auction server based in Java which accepts queries from users through the standard web browser interface and constructs and displays the resulting webpage dynamically, using JSP. User queries can take many forms i.e. requesting an individual auction items details to be displayed, or to display a listing of all auctions in a certain category. Numerous XSL stylesheets were developed to display whatever information the user requests. XSP is used for dynamic content generation within XSL.

 

Algorithm Animation - Ronan Sheridan

Algorithm animation is the process of abstracting the data, operations, and semantics of computer programs, and then creating animated graphical views of those abstractions.

My project hopes to create an application that will be used by students within DCU to understand the workings of algorithms taken from the CA205 "Algorithms and data structures" course. The user will be able to view an index of available algorithms and view them graphically within the application. The user will also be able to interact with their chosen algorithm influencing the algorithms animation dynamically.

Mobile Solutions - Seamus Breathnach

This project is designed for use by consultants and personnel who are frequently away from office facilities. It has three primary sections as follows:
File backup software
In brief, this will allow users to select files or folders and have them compressed and securely backed up to dedicated space on a file server within company offices.

Software license management
This is a client program that scans a users laptop and generates a list of all software currently installed by that user. This list is encrypted and sent to a server side program which in turn updates a software audit and licence database with this information.

Software license manipulation
This is an SSL web front end to the software audit, license and user databases. It will enable remote administration of the databases.

I-WAP: The cHTML to WML Translator  - Deirdre Colreavy and Marcus Corcoran

Our project was to write a program that translates cHTML files into WML. This would enable cards and decks written for NTTDocomo’s I-mode to be viewable using WAP devices. The reason we chose this project was due to the phenomenal commercial success of I-mode in Japan. This, in comparison, with the poor performance of WAP in Europe led us to investigate the reasons behind I-mode’s success. We concluded that subscribers to I-mode benefited from a huge number of entertainment-based sites, which could appeal to WAP users if they too could access these sites.

Web Based Share trading - Stephen Fullam

My project is a share trading game on the web based on actual prices of shares on the stock markets. This project involves the use of a webserver, Java servlets, an Access database, WAP and Wml, SQL and JDBC. JavaScript is also be used. The objectives of this project are to produce a working game on the web. The user should be able to log on at anytime, using a username and password. The user should also be able to see his/her's information and to be able to buy or sell shares at anytime. There is also a WAP element where the user can check this information from a WAP phone too. Updating of the stock prices takes place everyday. There will be maybe 100 or so stocks to choose from. (Dow Jones or FTSE 100)

Portable Doctors Surgery - Shane Barron

The motivation for this project is the will to learn about programming a PDA/PocketPC through the WindowsCE environment while at the same time creating a useful and worthwhile WindowsCE application for the Medical World. This project basically is to design and code an application for Doctors to record and maintain patients information that attend their surgery. This application will then be used to syhronise with a further coded Windows CE PocketPC application on a PDA for use when doctors wish to have patient information available to them when they are on house calls. The project will consist of a main database that will hold all patient information, a simple yet useful PC application to record, update, modify etc. patient information and a more technical PocketPC application that will export/import information from/to the database when required. The PocketPc application will include all the information that PC application contains.

XML Schema to XML Converter - Frank Marshall

Since the beginning of the use of XML, all XML documents were constrained by DTDs (Document Type Definition). The main limitation of a DTD is that it has a totally different structure to the data it defines and is not even written in XML. XML schema was invented at the W3C to remedy the problems and limitations of DTDs.

The XML Schema to XML Converter will take an XML Schema as its input, it will then create a form on the web, based on the elements and attributes of the schema. The user of this application will complete the form and the input will be validated against the constraints laid out by the schema, before being converted to a XML document. The project will be implemented through Java using other technologies such as DOM and Java Servlets.

Text Correction Tool for the Palm Pilot - Declan Boylan and John Daniel FitzGerald

The objective is to create a text correction tool for the palm pilot. The algorithm for selection of the most likely correct word would be based on the probability of each graffiti character being incorrect. It shall also have learning ability, i. e. probabilities would updated after each interaction.

The interface will be a standard text editor with basic functionality. Edit features such as copy and paste, save and load… etc. This editor will include the main part of the project, a spelling checker. This will work on a word to word basis. As each word is entered it is compared to the dictionary. When a word is found that is not in the dictionary a check is made to suggest the most likely replacement word. If this word is not the correct interpretation the user can select to view a list of other likely replacements, correct/re-enter the word, ignore the error, or save the word to the dictionary.

Submit and Mark - Nicola Donnelly

In DCU at present, students, when submitting a project have to print the project out, put it in a folder and drop it into a project box. To overcome this, Charlie Daly suggested having a web-site where students can submit projects online and lecturers could view the projects online. Along with the online submission program, I am taking Margaret Farren’s suggestion for a marking tool on board. When essays are submitted for correction they have to be printed out and sent back to the student via the post with added comments and general correction. The marking tool will be an application that will enable the lecturer to mark the document without having to print it out, and send it back to the student by e-mail.

Speaker Verification Implemented Security - Ronan Crowley and Paul Connolly

Speaker Verification is the process by which a user’s identity is claimed and confirmed. The process is so accurate, that minute variations that humans cannot hear (e.g. Impressions), are easily spotted by the system.

This Project will be realised, by creating a client-server application. The user will be given a random piece of text to read into a microphone. This data will then be sent to the server machine, where the software will compare characteristics of the voice sample to an existing speaker model and decide if this person is who they claim to be. These models pick out the different phonemes as a user speaks and uses these to differentiate between users.

A threshold of acceptance determines security levels, because the exact same audio wave cannot be reproduced, due to environmental differences. Further application security will be implemented in the writing of a secure client-server communications mechanism.

A Particle Engine for Games - Karl Doyle

My project is based around creating a flexible Particle Engine. This is used in games and multimedia applications to create and simulate effects using thousands of 2D images in a 3D Enviroment. Effects that are created range from Snow and Rain to Sparks and Fire. A lot of other effects can be simulated. With a good imagination and a grip on 3d some excellent scenes can be generated creating some excellent effects. Particles engines are a hugly extensible idea and can be developed into many other areas such as modeling turbulant gases or applying "springs" to each particle, creating the effect of cloth or a liquid.

ALICE - Niamh Murphy

ALICE is a web-mail client. I plan on creating a client using a number of easily scalable, reusable and updateable technologies.

There are many web-mail clients currently available, such as the well known Hotmail who use CGI-based technology. Over time, many of the strengths of CGI based technology have been overshadowed by its inability to scale well, and its inefficient use of resources in comparison to Java's server side technology, Servlets.

There are now emerging a number of commercial web-based mail clients developed using Servlets, instead of CGI-based technology such as KBMail, eMail2001 and Saké Mail

ALICE will also be designed using servlets, however I wish to incorporate other aspects of Java’s Enterprise Edition technologies such as JNDI along side LDAP for authentication and authorisation purposes.

Java Monitoring/Configuration tool for DIVA LAN ISDN modem - Sheila Pollard

This application will attempt to provide some of the same functionality as the DIVA Assistant. The application will detect devices connected to a computer, and display information on them and their status. The project involves seeing how much functionality can be coded in JAVA while being platform-independent. The application must run on multiple platforms (Unix, Mac and Windows) so only functionality that can be ported onto different operating systems will be considered. The main objectives are real-time monitoring of the state of the modem and dial/hang-up options along with firmware upgrades and configuration back-ups.

Voice-Activated Personal Organiser using wireless technologies - Brian Egan and Shauna McKillen

V-Commerce brings the power, ease of use and convenience of electronic commerce to everyone. Advanced speech recognition now enables anyone to execute transactions using their voice.

Although traditional electronic commerce has revolutionized the way both consumers and businesses buy goods and services, it is only available to people who have access to a computer. V-Commerce takes electronic commerce to a new level, enabling anyone to shop, buy or obtain support by speaking over the telephone or another connected device.

With so much of business today focused on fostering better relationships with customers while controlling costs, the user friendly nature of speech recognition, it's 24/7 availability, and it's substantial cost advantages over live agents mean it is a technology that fulfills a compelling business need.

Our project is a voice-activated personal organiser which can be accessed from your pc or your wap enabled mobile phone. The idea for the finished application is that you phone up and navigate through the menus using your voice and depending whether you choose to insert or retrieve data, you will be presented with the facilities to record the details you wish to insert, or the details you requested will be spoken back to you. The platform we are using to develop the application is Windows NT. Some of the languages and software we are using are VoiceXML, Java, XML, WML, HTML, Voice web-server, web server, SQL7 database, Nuance speech recognition software.

Stock Market Simulation - Leigh-Ann O’Driscoll

The aim of this project is to provide an environment on the web where people who are considering investing for the first time can learn about the stock market and shares through simulations of market situations/ tutorials and a mock portfolio. The main focus of the project will be on the mock portfolio, this will allow users to invest a limited amount of money (the investments will not be real) in shares currently quoted on the ISEQ. They will then be able to see how their chosen shares perform in real life. The user will also be able to learn how investors read the shares index and company profiles to pick a company to invest in though the aid of the tutorials and simulations I provide. This will be implemented through windows NT using SQL Server 7. 0, Active Server Pages (ASP), Internet Information Server (IIS), Extensible Markup Language (XML) and Jscript.

Net Management for Distributed Billing - David Byrne

An existing scalable Distributed Billing System belonging to Sepro (www. seprobilling. com) requires a tool for managing services running across an arbitrary amount of machines on a network. This tool will provide for complete operational management of the system from a single location.

The Network Management tool will interface with Sepro’s System to allow:

(i) Launching and stopping services.

(ii) Reporting on performance.

(iii) Interactive Dynamic logical view of the system topology.

(iv) Interactive Dynamic physical view of the system topology.

(v) Calling of management scripts as functions.

Graphical XSLT Generator - David Gillen

Graphical XSLT Generator - a GUI which will allow the user to specify in a simple manner the transformations which they wish to achieve through XSLT on a XML document through drag and drop and other features. The software will generate the XSLT to transform XML documents with any XSLT engine.

Lotto Alerter - Kelly McKillen

The idea of the project is to allow regular lotto players or syndicates to enter the numbers that they play on a website, along with their email address. When the lotto draw occurs on a Wednesday and a Saturday, the chosen numbers are retrieved automatically and checked against those that have been stored in the database. If there are any matches worth noting, the user will be emailed telling them that some (or all!) of their numbers have come up. This facility will eliminate the need for the regular player or syndicate leader to physically have to check all of their chosen numbers. The technologies I have used include Java, Microsoft SQL Server, ASP and JDBC, and Java servlets.

LinkViewer - Niambh Scullion

For my fourth year project, I am designing a java servlet called the LinkViewer. When given a valid HTML page, the LinkViewer carries out a recursive search of links on that page and the links from the specified page to a depth level indicated by the user. The LinkViewer returns to the user a list of links that can be obtained from the users requested page and from the pages and from the links off that particular site.

The aim of the LinkViewer is to make sites like the Java Sun Tutorial, that contain alot of links some which occur more than once more user friendly. With the LinkViewer the user on recieving the list of links can follow the trail of links suitable to his or her needs.

Beowulf Cluster - Tony Gray

The aim of this project is to create a Beowulf Cluster, which can be used for parallel computations. The cluster will consist of 16 nodes, each with a 180Mhz Pentium Pro processor and 64MB RAM. Each node will be connected to a 100Mbit/s Switched LAN (Local Area Network).

The project will also involve writing/installing/configuring all the parallel software, MPI and PVM, along with benchmarking software. A management interface will be provided via HTTPS and will consist of current job status, network and processor usage and some maintenance tools.

Rummikub  - Ingrid Ní Bhreasláin

Rummikub is a two player game involving tiles. It will be played by one human player against a computer player. It is based on the board game of the same name. The basic idea of the game is to get rid of all your tiles by placing them in groups on a canvas area. There are tiles numbered from 1-13 of four colours. Initially players will be dealt 14 tiles. Players take turns in placing groups of tiles down, or adding a tile to an already existing group. Groups may either be a sequence of numbers of the one colour, or a set of the same number but of different colours. A player may place as many tiles as he likes down in one go. That is he can place several groups in one turn. On a players turn they may move tiles around the board to form new groups as long as they place one or more tiles down themselves in that turn. In addition they may not remove tiles played on the canvas. The program will remember the original position of tiles on the board at the start of the turn, so that if a player is unable to regroup all the tiles when they have started moving them around they may be reset to their original position.

Robocam - Emily Coleman and David Clavin

Our project consists of a "Lego Mindstorms" Robot, with a digital camera attached. The Robot will be some what "intelligent", that is, he will be able to navigate his way around a model environment recognising coloured objects and shapes. On recognising a particular object the robot will perform different tasks. The images taken in by the robot and transmitted to the PC will be displayed on screen.

The user will be able ot see the world through the eyes of the robot. The images taken in may need to be processed in order for them to make sense to the user. Other details about the robot will be dispalyed on screen to the robot. ie. it's maximum and minimum speeds.

Virtual Educational Driving Test - Avril Fitzgerald and Naomi Ryder

So many people are driving on the roads today without correct knowledge of the proper rules of the road. As drivers ourselves, we have become very frustrated with this. Considering the fact that we have only been driving for less than a year, it doesn’t say much for the quality of driver out there.

When the user first encounters our project they will see a "homepage" with three different options like the following:

Virtual Educational Driving Test

Option 1: Take the Virtual Driving Test!
Option 2: Give yourself a multiple-choice tutorial
Option 3: Search the Driving Test Database for things you want to know

Option 1
If the user picks option 1, they will be brought into a Virtual Reality world with driving routes, signs, intersections and general real world scene objects. They will have to manipulate the world along a predefined route and deal with breaking and acceleration as well as collision.

Option 2
If the user picks option 2, s/he will be confronted with a set of multiple choice questions. This part of the project resembles the part of the actual driving test when the instructor asks the pupil questions. Our Multiple choice questions will prepare the user for this type of scenario. This part is implemented using Java applets. This presentation is "randomly" generated from a selection of Java applets

Option 3
If the user picks option 3, a small "search engine" will appear on the screen. S/He will be able to type in the query they wish and our project database will deal with their request, giving them a choice of answers. The engine will allow any user to search for information regarding signs, rules of the road and also instructor's names and their details for different areas of the country. The resulting page will show the user many outcomes and answers to their query.

SMS Notification System - Vinnie Heffernan

The objective of my project is to provide a WAP based site with SMS or Short Message Service implementation. The purpose of this site is to notify students or people in business of changes, such as cancellations, on their mobile phone. Thus, this site will enable a lecturer/employer to easily notify his/her students/employees. For example to notify their lecture/meeting has been cancelled. This is possible whether they're using a computer with an internet connection or while they're on the go using a mobile device. With 70% of the Irish market owning a mobile phone this delivery service would be extremely effective..

Word Segmentation and indexing of ISOS images for indexing and retrieval - Paul Reddington

The ISOS project is a collaboration with the Dublin Institute for Advanced Studies and Trinity College Dublin and has led to the digitisation of manuscripts in Old Irish whose images are now available on the www at www. isos. dcu. ie. The images in the Book of Leinster are written by monks in the 12th century. My project is to take those images and to segment them into individual word occurrences, to index those word occurrences via their image properties and to do word spotting as a form of retrieval. This entails automatically characterising the print or font used for each hand-written letter, taking a typed-in text query and reverse engineering what this would appear like if it appeared in the manuscript, and using this as a query against the database of segmented word images from the manuscript database. Thus the project is about image processing and image retrieval.

Neural Network Simulation - AnneMarie Madden

The aim of the project is to give a graphical demonstration of machine learning. This is achieved by developing a virtual ‘intelligent’ car, which will be able to ‘learn’ the optimal path around a racetrack. The car will learn to steer around the track using a Neural Network.

The Neural Network will take as input a subset of the pixel values (RGBA values) immediately in front of, and to the side of, the car. Because this makes it track-independent, the car will be able to navigate new, previously unseen tracks. Furthermore it will be able to adapt to numerous unseen circumstances, such as manoeuvring in the presence of other cars.

The car and track are rendered as a 3D graphical model using OpenGL/ GLUT. In order to aid the visual representation of the learning capabilities of the Neural Network, graphs are also provided which show the number of training iterations versus the time spent on the track without crashing.

"UTest" Java Unit Testing Tool - Brenda Courtney

UTest is an Automated Unit test tool, which will enable developers to test individual java classes without the need to develop additional testing classes. This will encourage testing processes at an early stage of development. UTest provides a 'Data Driven' methodology utilising dynamically created data xml files to provide both the input and expected results verification. The xml file is the test driver, which is the engine for the tool; this file is read by the 'controller' and processed. The user's expected results are used for verification, results and errors are recorded and displayed to the user.

The dynamically created xml files are saved for future tests on the java class. This ensures all tests are recorded for each class, and further testing can be achieved by amending the data in the xml file, the UTest tool provides a facility to edit the xml files and retest. The results are also stored in xml format providing documentation of the level of testing achieved by the named class.

Distributed Search across Napster servers - John O'Connor.

My project is an application with which you can query a few Napster servers in one go and rates the results returned. It then list the results according to the rating given. At the moment the Napster search and file transfer client does not have a great search function. You must know the artist name or the song name to search for a song. My project will allow you to search for certain words that a user may believe are in the song title or artist name, using asterixs to denote unknown characters in the title or artist. The program will then rate the results depending on how close the results are to the search term.

Graphical 3D Sign Language - Vincent Flood

I want to develop a 3D implementation of the Irish Sign language, that will act as a learning tool for beginners in the language. I will develop a 3D animated human figure that will perform the motion of the sign or sequence of signs in space.

The input will be words or perhaps sentences in English which will then be converted to the appropriate translation in Irish Sign.

The difficulties involved in carrying out such a project include the problem whereby some signs will have to be modified to suit the appropriate grammar, and also the moving of the hands from one point to another in a realistic human like manner.

Interative Open GL Workbench - Michael Murdock

My project will be an Interative Open gl Workbench capable of creating worlds to a users requirements. It will result in an application which will allow a user with no prior knowledge of Open gl or Visual C++, to create and manipulate objects within the world. It will require no understanding of the Open gl libraries, as the world and its objects will be easily manipulated using mouse input. No coding on the users part will be necessary in the creation of the worlds.

Developing a site using Apache's Cocoon Web Publishing Framework - Mark Redmond

The Cocoon Web Publishing Framework, part of the Apache XML project, features the generation of multiple file types from a single XML document and the complete separation of content from logic and presentation. In the project the content of the website being developed (an online record shop) is represented by well-formed XML documents and rendered into different types (dependant on the viewing browser) by XSL Transformation. XSP Pages, unique to the Cocoon framework, are XML documents which contain the programming logic (i. e. the Java code) embedded within XSP tags, allowing clean division and meaning that changes can be made to presentation without effecting content or logic.

Cryptographic countermeasure to the denial of service attack - Cathal Thorne

Some well-known characteristics of the Internet's TCP protocol are often exploited by malicious parties to cause internet websites to deny their services to others. The most common and effective attack is the SYN flood.

This project provides a proof of concept for the client puzzle protocol, a solution to the SYN flooding attack. This will involve developing a new TCP implementation which distributes small cryptographic puzzles to requesting clients when under attack which will exhaust the computational resources of malicious clients.

D6 Emulator - Martin O’Broin

The D6 is an educational computer designed to aid in the teaching of first year computer architecture and third year embedded systems students. The D6 is a flexible open architecture STE-BUS (IEEE-1000) based system. With it we generally use a CPU board based on the Intel 80188, giving good compatibility with the IBM PC. The D6 uses a 1 Mbytes memory space, which is divided into logical segments of up to 64 Kbytes each. The D6 runs at approximately 10Mhz making it an extremely slow computer by today standards.

The 4th year project I have submitted is an emulator for the aforementioned D6.

This emulator is designed to partially replace the D6 in that students will be able to work at home and/or in college on their assemble language projects. Therefore the emulator will need to recognize a sub set of assemble language instructions. I also hope to provide an assembly language interpreter, opcode/machine code viewer and registry viewer with the emulator.

The emulator shall be implemented in Java and shall be operated on via a Swing enabled GUI.

Java-Based XML Rendering Toolset - Kevin Peters

This project explores the possibility of combining XML's information management capabilities with the interactive Graphical User Interface options provided in the Java 'Swing' libraries.

The aim is to produce a toolset which will:

1. Allow a user to configure a layout for documents conforming to any particular XML schema, by graphically choosing elements and attributes from a tree representation of the schema within an interactive Java GUI and

2. Perform the rendering of an XML Document according to the layout configured for its schema.

Work involved in the project includes; generation of XSLT SytleSheets, parsing of XML Documents and Java Swing GUI production.

Java Indentation Checker / Java Parser for a C++ Program - Philip Grant

1. The objectives of this part of the project is to write a parser in Java, that will parse a program written in Java and indicate if it has been indented to a specific style. The program can be used to help teach students how to indent their code correctly. The program can be used to check code student's are trying to submit, and if it doesn't meet the standards of the indentation style specified, the student's code will be rejected.

2. A 2nd objective of this project is a parser for C++ files. Java had a number of small improvements to C++ (as well as a number of big ones). The objective is to write a Java program that parses a C++ program and identifies if it breaks any of those rules, for example, you cannot use un-initialised variables.

World Wide Web Statistics - Antonio Lopez Rovnij and Galina Lopez Rovnij

WWW Statistics is a new approach to teaching statistics using the World Wide Web. The electronic site is based on two premises. The important principles of statistics, even the most difficult ones, are remarkably easy if they can be seen. Learning is facilitated by the active participation of the student.

The objective of the project is to create a computer-assisted learning site on the web that will help students to overcome difficulties they find within the statistics subject.

We interactively deliver a statistics course over the internet, consisting of animated lectures and continuous assessments in multiple choice format. In particular, WWW Statistics focuses in the areas of Confidence Intervals, The Central Limit Theorem and Hypothesis Testing.

The use of animations and graphics in 2D and 3D helps to demonstrate and illustrate these abstract topics to the student. WWW Statistics was developed for use in conjunction with conventional statistics lectures.

WWW Statistics makes statistics visual and interactive, providing an invaluable addition to conventional lecture notes.

WapNet Service System - Anthony Farrell and James Fay

This project will implement a secure automated Wap and Online Service management System. There are 5 aspects to the Project. Develop a WML API.

Implement the WAP client side of the Project for operators and the service company, including a call allocation allogrithm.

Implement the onLine Client Side.

Develop a configurable GUI to administer the Service Database. This will be generic in that it will connect to any database, eg Sybase, SQL Server, MSAccess, mySQL.

Provide security for the Service Call Logging, using J/Crypto.

Develop an Applet/Security Server.

How the System operates:
A plant/equipment service company maintains a database of equipment on service contract. The contractor(equipment user) and their equipment will be added to the database initially by the service company administrator, thereafter the contractor will update the database on-line e. g. location of equipment or logging routine service calls. A contractors plant working in a green field site suffers equipment failure, then the operator would use a WAP enabled mobile phone (menu driven interface) to log a service requirement.

The area service engineer when updating a completed call/requesting a call will be offered the next service call allocated by proximity to his location. The engineer will also have the option to view all the current uncompleted calls.

Multi-platform synchro Organiser - Declan Kelly

My project is to be a Multi-Platform Synchronised Personal Organiser. Essentially the concept is that you can have access to the same information on various devices. This is becoming more of an issue now as proliferation of information sources continues. It is not uncommon now for people to have a P. C., PDA, and Mobile Phone, with essentially the same thing stored on each of them, but no enforced consistency of data between them. You can by using various wires and utilities, synchronise these sources, but my project is intended to allow you to have a single repository of your information and access that information from all your internet enabled devices, so if you make a change on one the information on all your devices remains consistent. I intend to support ordinary browser based WWW, WAP phones and also the new i-mode phones from NTT DoCoMo which are making a huge impact in Japan.

The three platforms I intend to support all use different incompatible mark-up languages to display information, HTML, WML and cHTML respectively. To accommodate these differing requirements, I have decided to use XML to separate the data from the presentation, which is one of the original concepts behind XML. Based on the client’s requests XML will be generated dynamically from the database using XSP, this is a new technology, which is analogous to JSP in that Java code is embedded in markup language, but in this case the mark-up language is to be XML instead of HTML. The XML will then be transformed using client specific XSL sheets, using Cocoon from the Apache project group.

The XML is transformed on the server using XSLT into the native format for the specified device, the reason this must be done on the server instead of the client as is sometimes done, is that very few web browsers support XSL (IE5) and neither of the wireless devices have the kind of computing resources for this.
As my project is a personal organiser, all the usual expected functionality associated with that type of system.
These are:
Diary - This is exactly as you would expect, a list of appointments, meetings etc., searchable for keywords etc.
Contacts - Names, Addresses, e-mail etc.
ToDoList - Again as you would think, a list of things you have to do

Reminders - Reminders can be set on Calendar appointments, or todo items, at the users request. If a reminder is set either an SMS or an e-mail (at the users discretion) will be sent at a set time.

A Literacy Tutor For Adults - Glenda Conaty.

Many intelligent adults are unable to read or write, but are learning to do so. Research has shown that 25% of adults in Ireland aged between 16-25 are at level one, the lowest literary level, where the individual may, for example, have difficulty identifying the correct amount of medicine to give a child from the information found on a package.

The objective of this package therefore, is to support adults learning to read and write in the context of an Adult Literacy Scheme. As literacy involves the integration of listening, speaking, reading and writing this package addresses all of these issues.

It gives the user the opportunity to develop their literary skills using simulated real world situations. Real world situations that many of us take for granted, pose a real problem for Adults with low literacy skills and these include: reading product labels, menus, job ads, application forms, signs etc.

It has been developed using Java and VRML.

SWIFT - Paul Whelan and Hoi Chau Wong

A requirement for any communications system is the exchange of information between participants. We propose having a multi party system where people can communicate over the internet with full audio and video support. There's nothing quite like talking face-to-face, and with SWIFT's video conferencing feature, it's entirely possible. One of the most exciting things you can do with SWIFT is hold audio and video conferences. You can use SWIFT to stay in touch with family, friends, and co-workers on the other side of the country, or the other side of the world. A even more interesting feature of swift is its ability to be used as a serious business tool. With SWIFT you have at your computer the ability to part take in meetings where legally binding contracts can be signed without loosing the advantages of signing contracts face to face.

We will be using a generic protocol for fair multi-party exchange of electronics goods over unreliable networks with non-repudiation, where goods are signatures to multiparty contracts. An exchange among several parties begins with an understanding about what item each party will contribute to the exchange and what it expects to receive at the end of it. A desirable requirement for exchange is fairness. A fair exchange should guarantee that at the end of the exchange, either each party has received what it expects to receive or no party has received anything.

Secure Data Submission Application - David Tunney

The goal of this project is to write a number of java libraries that can be used in any application to secure it and to write a sample application to demonstrate these libs - a Secure Data Submission Application. A library for SPKI (Simple Public Key Infrastructure) and a library for a Freshness Authority, a certificate revocation technology, will be among the jar files produced.

The core of the project could be used to secure a number of different types of applications - from email to ftp, from browsers to protecting resources, and data submission. The demonstrative application will allow users to encrypt and sign the data before sending it to some central server and this server will be able to decrypt and verify the data using SPKI Certificates. The server will then sort and store the data securely until it is needed.

Search Engine Based on Teletext - Jonathan Lundberg

The end result of this project will be a standard web based search engine. The user will key in the terms they are searching for (along with choosing certain other constraints), and a web page will be returned which will show a list of television programs recorded on the Físchlar system which fall into their criteria, and contain some/all of their search terms. The results will be hyperlinked to actual video footage drawn from Físchlar using the available software [presumably in or around the point in the video where the search phrase(s) are used].

There are two major parts to this project. The first is the indexing of data. This will involve writing software that captures "page 888" subtitles using hardware currently available here, marking it up in XML, and storing that information on a database. The marking up will involve inserting a regular time-index, perhaps along with information about what channel it is being drawn from, the times, name of program, etc.

The second part of the project will involve writing a web search engine that searches through TV programs based on the index we have prepared as described above.

Pattern Matching of Nucleotide Sequences - Tom Bellenger and Damian Barrett

Software to complement a test kit used to determine disease risk in dogs. The software regenerates a DNA sequence associated with the dogs immune system from test results and uses a simplified BLAST(1) algorithm to search a DNA database for possible matches. BLAST(1) matches sequences heuristically so possible matches are returned with a score. The system has a client-server architecture with the client handling regeneration of the sequence and sending a request to the server for matches. Restriction of the service to registered users is also implemented.

Ref:

(1) Altschul, S.F., Gish, W., Miller, W., Myers, E.W., Lipman, D.J.J., Mol. Biol. (1990) 215:403-410

Online Toy Shop and Play Area - Michelle O’Loughlin and Corinna Dalligan

We will implement an e-commerce application in the form of an online Toy Store and Play Area. The application will be built using a three tier architecture i. e. HTML client, ASP middle and a database on SQL Server. From the shop’s home page, the user can choose to play one of the games available, search for a specific product in the database, browse through the products listed or choose to buy an item by adding a specific product to the shopping cart. The security element of the project (i. e. credit card transactions) will be implemented using SSL.

We will implement the shopping cart as follows:

ASP files will extract the product information from the database.

The ASP files will then generate XML files containing the records extracted.

The ASP file creates an intermediate data store as XML. This permits clients running browsers other that Internet Explorer 5. 0 to display the shop’s product details. This minimises trips to the server as the client it is able to cache locally the XML and the XSL document that will transform it.

We are using JavaScript to validate client input, and we use DHTML and CSS to provide a consistent, dynamic and more maintainable site.

We will provide a kiddies corner that will amuse children with games and songs using Java’s multimedia capabilities.

The main objective of our project is to learn how to combine all of the above technologies to construct an e-Commerce application.

Secure Desktop Banking System - Michael Lennon

This project implements a secure desktop banking application, which will be composed of a number of JavaBeans, and a corresponding server side application which will be a collection of Enterprise JavaBeans. Communication between client and server will use XML as the data format, and this data will be signed using the XML Signature Standard and encrypted using a secret session key. For these purposes, users of the system must have a Digital Certificate assigned to them by the Bank. Session key exchange will use RSA Public Key Cryptography as the enabling technology. The Application will allow users to manage aspects of their bank accounts such as paying bills, transferring funds and generating (and possibly printing) of customised bank statements.

Multi-user Chat Application and Mail Client - Robert Kenny

My project is a web communications system which incorporates a multi user chatroom which will allow users to register and login, to create their own chatrooms, send messages to invidual users, recieve messages and an administrator facility to close chatrooms, monitor users, record chatroom dialogues. There will also be a mail facility which will allow users to send and recieve mail.

3D Graphics Engine - Raymond Mitchell

The purpose of this project is to design and write a 3D graphics editor and engine. The editor will allow the user to edit and create 3D shapes and maps while the engine will allow the user to view the created map in full 3D.

The 3D editor side of the project has two parts

1) Object editor
2) Map editor

The object editor will allow the user to generate new graphic objects (shapes) in 3 dimensions, it will also allow the editing of existing objects. It will give the user the ability to build up a selection of objects in a library.

On the other side of the graphics editor is the map editor. This part will allow the user to create a 3D map using existing objects which the user has created. It will allow user to build up a 3 dimensional map and save it to disk. Building the map will be achieved by enabling the user to insert existing objects into the map at any selected coordinates they wish in the map. The user may insert the objects at any orientation they wish Both the editor and the engine will be written in C++ in order to ensure they run as quickly as possible.

The 3D editor will use a GUI interface possibly generated using the Microsoft Foundation Classes. It will allow the user to load and select objects simply by clicking buttons, menu items etc. The user will be able to both edit/create shapes and maps within the editor. Load options would allow the user to load in existing maps/objects and edit them as opposed to generating new maps/objects from scratch.

Digital Signal Processing MiniLab - Georgi Kolev

My intention is to develop tools (using MFC, Win32 API) for operations on a signal as follows:

  1. User Interface
  2. Formatted Disk Storage - (open, read, write DSP files, trailer access)
  3. Graphic Display of Data
  4. Filtering Routines -
  • FIR
  • IIR
  • Filtering to remove Noise, Noise Generation,
  • Waveform Synthesis
  1. Discrete Fourier Transform (DFT), Inverse DFT, Fast Fourier Transform (FFT), Inverse FFT Routines.
  2. Windowing Routines - Hamming, Hanning, Blackman and Blackman-Harris.
  3. And finally, converting old mono recordings to stereo.

Online Document Management System - Kevin McGill and Brendan Dunne

We hope to provide a system where information can be easily shared and distributed by users, but without the hassle of regularly uploading documents to a web server, or the problems of accessing network drive files from outside college.

We hope to combine the ease of access of a web page with the ease of use of a network drive.
The system will be built around two types of users: students and lecturers.
We will use the current DCU student portal pages as a template for designing and building a lecturer portal and a new student portal.
As well as viewing and uploading files there will also be a discussion forum and a search system to search the uploaded content.

Lecturers will be able to upload various types of files, as well as links and book recommendations to the group of modules that they currently teach. Students will also be able to upload files but it will be a more restricted version. Students will only have access to the modules they are registered for, and lecturers will only have access to the modules they are registered to teach.

Multi-Client Secure Online Car-Hire System - Colin Barrett and Paddy Fogarty

Our project is a multi-client online car-hire system which will work through various Internet mediums. Users who wish to hire a car can access our service through either a desktop PC using the Internet, a WAP-enabled mobile phone or through a mini-web-browser on a Palm Pilot.

The system employs a ‘Header Parser Servlet’ which recognizes which type of browser the user is viewing the site on and redirects the user to the relevant JSP page depending on their client. Therefore only one URL is needed for accessing the site regardless of what type of client the user is viewing it through.

An Oracle database keeps track of all the cars in the fleet and is constantly updated whenever a user makes a booking. This can also be maintained through a series of restricted access administration beans.

The project is implemented through JavaServer Pages, Servlets, WML and Java Beans. Full security is achieved through using SSL, WTLS, X509 certificates and a WAP gateway implementation.

Object Oriented Raytracer - Kenneth Byrne

Ray tracing is a method of generating realistic images by computer, in which the paths of individual rays of light are followed from the viewer to their points of origin. A ray tracer is any program that implements this method. Since ray tracing makes use of the actual physics and mathematics behind light, the images it produces can be strikingly life-like, or "photo-realistic. ".

There are three standard features that can be achieved by raytracing these are:

Reflection (Objects have Diffuse and Specular indexes to determine how light bounces off them)
Transparency (Objects have a refraction index to determine how the lightray moves through them)
Shadows (Direct result of light sources within a scene)

I hope to create using OO methods, a raytracer which implements the above features for a wide range of object primitives, also incorporating different object texture/surface patterns and transformations.

Online Voting - Aengus McIntyre

The objective was to develop a web-based voting system for an on-line community. The intended area of application is for members of a trade union to vote on trade union matters, including industrial action. The system will be completely secure, ensuring that only those who are entitled to vote actuallydo so, and do so once, and that their anonymity is guaranteed. More than one issue can be alive for voting on at any one time. The interface to voters must be crystal clear, and a good interface to the ballot organisers must be provided. The system may also be used for surveys on opinion, and in this use it should provide administrators with automatic analysis tools based on voters'profiles.

Voters wishing to vote must enter their name and password, which will be verified and if authenticated, then they may proceed into the main survey and opinion page. The polling officers themselves can logon and view the polling results as well as verify that they are valid. Barcharts etc, will be generated to clearly define the figures. Passwords themselves will be referenced from an encrypted file to secure the application logins.

Secure Pay - Sinead Browne

My fourth year project is Electronic Bill Presentment and Payment Protocol for the online payment and viewing of various bills. This will allow users to pay bills from their desktop in a secure environment and moni