Group Projects: 1997-98

Supervisor Project Title
Helen Ashman Hypertext engine
Helen Ashman URL checker software
Helen Ashman Auction software
Helen Ashman Password protection
Steve Benford Avatars for collaborative virtual environments
Dick Crouch Annotators' workbench
Anthony Daniels Educational mathematics software
Louise Dennis Logic tutor
Louise Dennis Computer salesman
Louise Dennis Philosophiza
Dave Elliman The designers apprentice
Chris Greenhalgh Supporting collaboration through distributed awareness
Colin Higgins Real-time control of a model railway
Graham Hutton My first programming language
Mark Jones Email at a distance
Graham Kendall Generic genetic algorithms
David Lloyd World development for collaborative virtual environments
Stergios Maglaras Nottingham interactive public transport guide
Stergios Maglaras The musical editor
Stergios Maglaras The departmental resource manager
Stergios Maglaras A smart web resource grabber
Mark O'Brien Breccia
Ian Taylor Extending meaning and functionality in data visualisation



Hypertext engine

Supervisor: Ms. Helen Ashman (room 1204).

Group mailing list: gp-hla1.

Group home page: ???.

Team members:

All links available in Netscape are tagged URLs embedded in the HTML. The aim of the project is to write a hypertext engine which will allow extra links to be overlaid on top of those already in the HTML. Three different types of links should be added: a) a dictionary link, which connects any word to its definition in an on-line dictionary; b) a glossary link which connects technical terms to their glossary definition, and; c) a directory lookup link, which links any person's name to their on-line departmental telephone number and email address.

Some of these additional links can be preprocessed into the HTML before displaying it, but others (such as the dictionary link) will need to be done "on the fly". Also, the computations for making the new links will not be written as part of the hypermedia engine software, but instead the hypertext engine will call up say a Java applet for doing the computations and giving the results back to the hypertext engine. Or perhaps the computation is a query submitted to a DBMS. The design should let you implement and test the link types without recompiling your hypertext engine, as well as adding new link types at any time.


URL checker software

Supervisor: Ms. Helen Ashman (room 1204).

Group mailing list: gp-hla2.

Group home page: ???.

Team members:

Uniform Resource Locators (URLs) in HTML are addresses of specific files at specific locations. If the owner of a document at a given URL moves it or deletes it, any URL in someone else's documents or hotlists etc will no longer work and "Error 404" will be returned. Other times, the document is still there and can still be retrieved, but the content has been changed so the thing pointed to by the link is not what is expected.

This project involves writing software which will detect when errors in URLs occur. Some tests could be run overnight, such as a brute-force test which tries to follow every URL in every departmental HTML page to make sure that no links have become wrong. This part of the project will involve keeping statistics on the number of wrong links found as a proportion of the number of links tested, and to use this to predict how often the overnight test needs to be run in order to keep the number of wrong links below an acceptable threshold. Note how many times the same wrong link appears in different documents.

When wrong links are found, the URL checker should automatically generate an email, sent to the owner of the document with the wrong URL, to notify them of the wrong link. If the wrong link is not corrected before the next time the URL checker runs, the owner should again be notified, but the error should not be again included in the statistics.

Other tests will be written not for URLs which have disappeared, but for detecting when a document has changed from the last time the link was used. This will follow on from the first time the overnight URL checker runs - you should save some additional information from the first use of the URL checker which describes the documents at the end of each link. Information saved might be date of last change, number of bytes, or any other information that can be used to see if the document has been changed since last time it was looked at. You will then use this information to perform a 'validation' procedure. For example if the date of the last change or the number of bytes has changed, this should be noted and people whose pages contain links to the changed document should be automatically notified of the change by email.


Auction software

Supervisor: Ms. Helen Ashman (room 1204).

Group mailing list: gp-hla3.

Group home page: ???.

Team members:

An on-line auction server will allow a person to place an advert for an item for sale on-line and let potential buyers bid for them. This would involve a Java server which hosts the advertisement, and Java clients for each of the bidders. Potential buyers 'view' the item on the server, and if they want to bid for it, they download the Java client which uses remote method invocation to lodge a bid. The server notifies other potential buyers of the received bid, so that they can counter-bid. If no bids are received in a given time frame after the last bid, the server sends out "going once" etc notifications to all potential buyers until the sale is finalised. Potential buyers can terminate their interest by closing the client though not if they have made the most recent bid, which they must honour.

There are interesting issues of how to send and receive payment for goods, especially for private individuals who will usually not be able to take a credit card payment. E-cash is one possible payment method. Also challenging is the issue of verifying potential buyers, ensuring that they are genuinely interested in buying the goods, also in verifying that they are who they say they are.


Password protection

Supervisor: Ms. Helen Ashman (room 1204).

Group mailing list: gp-hla4.

Group home page: ???.

Team members:

The security of a network partly depends on unauthorised people not being able to log in. Some networks are protected by firewalls but many still depend only on the secrecy of every user's password. With sufficient computational power, a "brute-force" attack can be made on the security of a system. Someone can select a user id (easy to discover these from news postings or email) and can test all combinations of ASCII digits as passwords. But some passwords can be detected from "packet sniffers" and other intercepting software, where someone remotely logging in to a system types in their password and it is not encrypted until it reaches the host system. Anyone intercepting that user id and password combination can then log in to the remote system.

There are two stages to this project. The first stage is to set up a one-time password system, so that every password is only ever used once and then immediately becomes invalid. Each user is given a list of future passwords (which they must keep secret) and every time they log in, they use the next password on the list and cross it off. Some challenges that will occur include how to distribute lists of passwords securely (definitely not via email!), what to do when the user forgets which password they are up to, and using a pseudo-random algorithm to generate password lists. You also need to worry about how the system will keep track of which user is up to which password, and how to keep those passwords safe from attack.

The second stage of the project is to discourage brute-force attacks by implementing a password encryption algorithm that runs too slowly for a brute-force attack to be successful. For example, slowing each encryption to take one second means that to test all four-letter password possibilities for a single user id will take over two hours.


Avatars for collaborative virtual environments

Supervisor: Dr. Steve Benford (room 1304).

Group mailing list: gp-sdb.

Group home page: ???.

Team members:

The aim of this project is to design and implement extended support for avatars (personal representations) within the MASSIVE-2 multi-user virtual reality system. The project could focus on avatar customisation, graphical design and supporting the definition and playback of gestures.


Annotators' workbench

Supervisor: Dr. Dick Crouch (room 1503).

Group mailing list: gp-rsc.

Group home page: ???.

Team members:

Background: Natural language processing systems rely increasingly on statistical information derived from hand annotated corpora of texts. Hand annotation is an expensive and time-consuming process, and computational tools to assist in the job are a necessity.

Aims: The aim of this project is to build a graphical interface that allows an annotator to highlight portions of text, and to draw links between them. The interface should support a variety of link types, including user defined ones. The links between portions of text are to be recorded behind the scenes as SGML style annotations. The interface should be able to read in an annotated file of text, and on request give a graphical display of the links, and allow the annotations to be revised.

To start with, the project will focus on two types of link: (1) Links between pronouns (e.g. he, she, it, they), and the antecedent expressions to which they refer; (2) Recording basic predicate / argument / modifier structure in individual sentences.

Implementation: The graphical interface could be encoded in Tcl/Tk or perhaps Visual Basic. Further coding will be required to map between graphical annotations and SGML style annotations.


Educational mathematics software

Supervisor: Mr. Anthony Daniels (room 1112).

Group mailing list: gp-acd.

Group home page: ???.

Team members:

Mathematics is a "doing" subject; to learn some mathematics you must do some mathematics. Computers are potentially a better medium for teaching mathematics than books, because they can force involvement from the student via interactive content. Furthermore, the ability to display animated graphics enables many concepts to be brought to life and illustrated in new ways, and for learning to be made fun! For example, the commutativity property of addition could be illustrated by a sum shown by groups of apples that swap over to form a new sum (which has the same result).

The aim of this project is to develop a program to teach young children the basic concepts of arithmetic. It should be fun to use, very easy to operate and gradually increase the childs mathematical knowledge and ability as they progress. The program must allow children to identify themselves so that their progress can be recorded by the program and monitored later by the teacher. A version for the internet could allow children with home computers to continue there studies at home and still log data for the teacher, but this is not essential.


Logic tutor

Supervisor: Ms. Louise Dennis (room 1507).

Group mailing list: gp-lad1.

Group home page: ???.

Team members:

Novices frequently find the process of proof in both the propositional and predicate calculus deeply mysterious. It would be of use to have a tutoring system which could check their proofs, suggest the next proof step and maybe even offer suggestions as to where they went wrong. Such a system would need a user interface that presented logic problems and proofs in a similar style to text books. It might also benefit from maintaining a student model in the manner of the BUGGY system. It would also be necessary to investigate common errors and other problems encountered by novices and to perform some assessment of the system's use as a tutoring device at the end of the day.


Computer salesman

Supervisor: Ms. Louise Dennis (room 1507).

Group mailing list: gp-lad2.

Group home page: ???.

Team members:

There are a number of computer based products which enable customers to decide what to purchase. However, retailers frequently have their own agenda concerning products which have a better mark-up, suppliers that are easier to deal with and stock they want to get rid of. At the same time (most of them) want the customer to leave in the belief that they purchased what they wanted and they want them to continue to believe this.

Purchasing a personal computer complete with add ons such as modems, graphics cards, etc. is a complicated business. The purpose of this system would be to act as a salesperson to the customer. It would attempt to assess the customers needs, for instance if they ask for a modem, they will also want software to support internet access etc. and sell them an appropriate PC plus extras which also met with the company's agenda.


Philosophiza

Supervisor: Ms. Louise Dennis (room 1507).

Group mailing list: gp-lad3.

Group home page: ???.

Team members:

Eliza is a famous artificial intelligence program that immitated a psychologist. Eliza worked largely be a process of key word matching (such as mother or friend) and replying to every statement with a question, for example:

USER: Nobody likes me.

ELIZA: Why does nobody like you ?

If stuck Eliza would ask a random question, "Tell me about your mother." Arguably philosophers adopt a similar approach. The object of this system would be to immitate a philosopher in a similar way to Eliza's immitation of a psychologist. An extension of this would be to allow the system to immitate a number of different philosopher's or philosophies so the user could select which to talk to.


The designers apprentice

Supervisor: Prof. Dave Elliman (room 1502).

Group mailing list: gp-dge.

Group home page: ???.

Team members:

The group will be required to help set up a novel large display digitiser for text, sketch, and natural language input. The fully working system will convert annotated 2D sketches into solid models. Much of the necessary software and hardware exists, or is being prepared by other sources. The group need to integrate this into a working system.


Supporting collaboration through distributed awareness

Supervisor: Mr. Chris Greenhalgh (room 1303).

Group mailing list: gp-cmg.

Group home page: ???.

Team members:

Collaboration and cooperation between physically distributed users can be enhanced by using computer and network-based systems to provide an ongoing "awareness" of the activities of others and of the artefacts of work (such as documents). This might be used to support a "virtual organisation" or to enhance the collaboration of a loosely coupled group (or a group project!). The aim of this project is design, build, use and evaluate a network-based system for providing distributed awareness of the activities of others in order to support collaboration.


Real-time control of a model railway

Supervisor: Dr. Colin Higgins (room 1108).

Group mailing list: gp-cah.

Group home page: ???.

Team members:

Several commercial systems are available for monitoring and controlling model railways. These all need some intrusive method for monitoring the position of the trains and specialist hardware and software for controlling them. It will be interesting to design and build a such a system from scratch without the aid of specialist equipment.

The aim of this project is to take the existing hardware and train set in the department and build both the hardware and software necessary for controlling the system. While the track layout is fixed, the method of integrating the hardware has yet to be determined. In order to detect the position of the train (in this case only a single engine will be allowed on the track at any one time), a video camera will be placed above the track. Thus the project involves a variety of computer science areas including real-time systems; image processing; hardware control and interfacing; compilation techniques; programming; etc. An exact specification of the minimum system to be produced and enhancements that are desirable will be produced after discussion with the group at the start of the project.


My first programming language

Supervisor: Dr. Graham Hutton (room 1113).

Group mailing list: ???.

Group home page: ???.

Team members:

There have been several languages designed to teach young children the basics of computer programming, the most famous being the turtle-based language Logo developed in the 1960s, which is still popular today. The aim of this project is to design and implement a new programming language for todays children. The language should be easy to learn, fun to use, and exploit the power and facilities provided by modern PCs.


Email at a distance

Supervisor: Dr. Mark Jones (room 1104).

Group mailing list: gp-mpj.

Group home page: ???.

Team members:

Summary: To produce a system that will give individuals more flexibility in the ways that they work with email.

Electronic mail provides a fast and efficient way to communicate with colleagues and friends all over the world. Of course, a network connection is required to send and receive email from other machines, but there is a lot of useful work that can be done without network access: such activities include reading messages, writing replies, and archiving or organizing mailboxes. The purpose of this project is to provide a family of tools that will allow users to carry out these tasks on home or mobile computers while they are away from their network connections. The system will work by allowing users to carry snapshots of their email setup from one machine to another. These snapshots would contain a mixture of newly received messages, unsent replies that will be dispatched when the snapshot is loaded onto a network machine, and a log of commands for archiving and organizing mailboxes. Important goals are to ensure consistency, ease of use, portability, and security.


Generic genetic algorithms

Supervisor: Mr. Graham Kendall (room 1202).

Group mailing list: gp-gxk.

Group home page: ???.

Team members:

A Genetic Algorithm (GA) is an algorithm based on Darwin's principles of natural evolution, where the strongest members of a population survive and the weakest die. GA's are frequently used for problems that have a large search space which cannot be exhaustively searched. GA's have proven success in many areas. For example, producing timetables and near optimal solutions for the travelling salesman problem. This aim of this project is to produce a generic GA application, one which can be presented with a variety of problems that can potentially be solved by using a GA. Below are some factors that might prove beneficial if they were to be included in the final application.


World development for collaborative virtual environments

Supervisor: Mr. David Lloyd (room 1310).

Group mailing list: gp-dxl.

Group home page: ???.

Team members:

Work within communications research group has led to the development of MASSIVE-2, a platform for developing virtual environments. In order to create and populate a world or environment, there are two approaches which can be taken. One is to code in C, the other is to use a simple language (cve_world). For an application designer, or worldo developer, the latter is the preferential choice. However, this language is still limited in it's use.

The aim of the project will be to investigate and build a tool which transforms the cve_world language into an easier to use and more productive tool for the virtual environment designer. The end users of the tool might not necessarily be technical people, and its design and documentation should acknowledge and reflect this.


Nottingham interactive public transport guide

Supervisor: Mr. Stergios Maglaras (room 1507).

Group mailing list: gp-szm1.

Group home page: ???.

Team members:

In the city of Nottingham two main companies operate to accomodate public transport needs from the neighbouring towns & the outskirts to the city centre and vice versa. However, the documentation provided by the companies on bus routes and travelling times is a bit complicated and includes only timing points. The aim of this project is to build a more efficient interactive bus guide which can be used to advise people not only about routes but also about travelling times throughout the day and total cost of journey as well.


The musical editor

Supervisor: Mr. Stergios Maglaras (room 1507).

Group mailing list: gp-szm2.

Group home page: ???.

Team members:

One of the courses supported in the Ceilidh system is music harmonization. However, its coursework management is based on text scripts representing musical symbols. The aim of this project is to build a graphical music editor which would help students to do their harmonization coursework. The editor should be able to produce scripts which can then be read and marked by Ceilidh. It should also include a web compatible interface so that it can be included as a part of Ceilidh's web Interface.


The departmental resource manager

Supervisor: Mr. Stergios Maglaras (room 1507).

Group mailing list: gp-szm3.

Group home page: ???.

Team members:

The computer science department has a large number of hardware and software resources to manage. Keeping track of all the PCs, Suns, X terminals, printers and their respective configurations has always proved difficult. The aim of this project is to build a database of all theses resources which will include search facilities for locating specific resources (PCs, CD-ROMs) or acquiring statistical data about these resources in the department (how many pentiums, which are the postscript printers, which printers are faster than 4ppm etc.) Software installed on individual machines should also be included as part of the configuration descriptions. The database should also provide a graphical plan of resources in the department.


A smart web resource grabber

Supervisor: Mr. Stergios Maglaras (room 1507).

Group mailing list: gp-szm4.

Group home page: ???.

Team members:

One of the most time consuming tasks in web surfing is that a user needs to access all the pages of a site one-by-one in order to get its links or its resources. For that reason programs called grabbers have been written. However, their functionality is usually limited. The aim of this project is to build a smart grabber which would accommodate the following tasks:

All the tasks should be customised by the user as to the extent and depth of the search within a site. Any other features such as the tree graphical representation of a site can be implemented if they are deemed by the group as being beneficial to the functionality of the project. Additionally, some performance issues like the maximum search depth have to be taken into consideration.


Breccia

Supervisor: Dr. Mark O'Brien (room 1105).

Group mailing list: gp-mark.

Group home page: ???.

Team members:

The construction industry is responsible for the manufacture of buildings. These vary in size and complexity from single houses to huge office blocks.

The industry itself is highly fragmented: there is a large number of companies. The reasons for this fragmentation include: the cyclical economic structure of construction work (it's either boom or bust with nothing in between), functional specialisation (the industry is made up of plumbers, electricians, earth movers, builders merchants etc), geographical considerations (buildings are not transportable as a product and need to be constructed in-situ) and finally the unique nature of each product (even two apparently identical houses will have been built on different ground conditions).

This fragmentation suggests that computer systems to satisfy the needs of the industry must be distributed; this in turn suggests that the WWW may be an ideal tool for implementing construction information systems.

This project will use Java to build a distributed product query system for use within the construction industry. The system must allow the querying of remote databases and the delivery of both technical product data and visual images of the various products.


Extending meaning and functionality in data visualisation

Supervisor: Mr. Ian Taylor (room 1310).

Group mailing list: gp-imt.

Group home page: ???.

Team members:

There are currently a number of visualisation tools available which enable generation of an abstract three-dimensional data landscape from textual data. This landscape is created in order to aid perception of trends and relationships in multi-dimensional datasets by exploiting the human vision systems ability to spot patterns based on position and appearance. The tools developed within the University present this landscape in a highly abstract form using primitive objects such as cubes or spheres which are located using basic ordering methods (e.g. alphabetic, numeric).

The aim of the project will be to extend exsiting representations to provide more meaningful visualisation styles for a selection of datasets. Additional functionality such as dedicated querying tools may also be developed. The utlities created may then be integrated with existing database packages of form part of a stand-alone system.

The project will involve the identification of suitable data sources, the design of visual grammars/semantics and finally, implementation. Work will be required in areas such as cognitive psychology, user interface design, CAD and graphics programming.


Last modified on 28th October 1997 by Graham Hutton.