Mike Holcombe - 3rd year Projects 2003-4

WMLH-1: XP story tool
WMLH-2: Visualisation of Ant Colonies.
WMLH-3: Virtual reality townscaping.
WMLH-4: Virtual reality and biology.
WMLH-5: French CD Rom.
WMLH-6: Word searches and archaic english spellings.
WMLH-7: Art agent.
WMLH-8: Calculating the correct time.
WMLH-9: Converting existing websites to make them accessible.
WMLH-10: So, you think you can program?

Project description.

WMLH-1: XP story tool.

Key words: testing, Java, X-machines.

Description

eXtreme Programming (XP) is a lightweight methodology that eliminates the design stage and concentrates on the evolutionary delivery of requirements driven by a carefully constructed set of test cases. The test sets are run almost continuously and tools are required to support this process. Another feature is that the sory cards are used to estimate the resources needed to implement the story.

A tool is needed to create stories in the format of the cards used in the notes used in COM2070 and to generate estimates and test sets from the information in the cards.

This project requires programming ability.

Resources

No specific requirements other than access to PCs and Java.

Reading


Module Links

COM221 - Software engineering practice. Back to top
Project description.

WMLH-2: Visualisation of Ant Colonies

Key words: Java, HTML, PVM.

Visualisation of Ant Colonies

Background

Ant colony algorithms take inspiration from the behaviour of real ant colonies, which are capable of finding shortest paths from their nest to a food source and are able to adapt to changes in their environment through the use of chemical substances called pheromone, which they deposit on the ground.

Ant colony algorithms try to make use of these real ant abilities to solve various optimization problems. In problems like the travelling salesman, ant colony algorithms outperform all known algorithms on a vast number of benchmark problems.

The data produced by the ants is of a relatively simple structure, however because of the large amount of information in the system at any one time, it is often difficult to spot different forms of emergent behaviour. This project aims to looks at ways to visualise the actions and decisions made by each ant, as well as the state and course of the ant colony as a whole.


The Department has recently acquired a Virtual reality system, specifically a Fakespace RAVEII. This is located in Research Lab 2 on the first floor.

It is a sophisticated system with a large screen several meters square and with a vairety of devices such as data gloves and wands that allow almost immersive virtual reality interactions. See http://www.fakespace.com/products.shtml#

The Virtual Reality RAVE II system may be a useful asset for the visualisation. References

Ant Colony Optimisation Home page http://iridia.ulb.ac.be/~mdorigo/ACO/ACO.html

E. Bonabeau, M. Dorigo and G. Theraulaz, Swarm Intelligence, Oxford University Press, 1999.


Module Links COM2090: HCI and Graphical Interfaces


Prerequisites - Good programming skills


Back to top
Project description.

WMLH-3: Virtual reality townscaping.

Key words:

Description

The Department has recently acquired a Virtual reality system, specifically a Fakespace RAVEII. This is located in Research Lab 2 on the first floor.

It is a sophisticated system with a large screen several meters square and with a vairety of devices such as data gloves and wands that allow almost immersive virtual reality interactions. See http://www.fakespace.com/products.shtml#

The proposed research project aims to develop and test a Web-enabled digital design interface called "Townscaping" that can be applied to architectural and urban design at the conceptualisation stage. The idea of Townscaping is to explore how 3D digital sketching can be augmented with a dynamic virtual city system with which designers can generate conceptual designs by directly placing and manipulating graphical elements within the user-configured virtual worlds of a city context. Through trial uses of Townscaping involving architectural designers, the research will investigate if designers' engaging in 3D space conceptions can be enhanced through interacting and sketching with virtual townscapes. This will be jointly supervised with Dr. Peng of Architecture.

Resources

Standard equipment plus RAVEII.

Reading and resources

The Sheffield Urban Contextual Databank (SUCoD) project, live online at http://sucod.shef.ac.uk RAVE-II plus 3D input devices (data gloves, 3D glasses, space wand etc) Java, Perl, HTML, VRML programming

Peng C, Chang D, Blundell Jones P and Lawson B (2002) "Exploring urban history and space online: design of the virtual Sheffield application", Design Studies, Vol. 23, No. 5, pages 437-453, September 2002, Oxford: Elsevier Science Ltd.

Peng C, Chang D, Lawson B and Blundell Jones P (2002) "Making Virtual Cities Dynamic", International Journal of Design Computing, Volume 4, March 2002, Special Issue on "Designing Virtual Worlds".

Peng C, Chang D, Blundell Jones P and Lawson B (2002) "On an Alternative Framework for Building Virtual Cities: Supporting Urban Contextual Modelling On Demand" Environment and Planning B: Planning and Design, 29(1), January 2002, pp. 87-103, London: Pion Ltd.

Gerold Wesche , Hans-Peter Seidel (2001) Interaction: FreeDrawer: a free-form sketching system on the responsive workbench, Proceedings of the ACM symposium on Virtual reality software and technology November 2001.

Thomas Jung , Mark D. Gross , Ellen Yi-Luen Do (2002) Annotating and sketching on 3D web models, Proceedings of the 7th international conference on Intelligent user interfaces January 2002.

Michael F. Deering (1996) The HoloSketch VR sketching system, Communications of the ACM May 1996, Volume 39 Issue 5.

Tessa Elliott (1995) Fine art and pure science: the coincidence of the sublime and the rational in computer art education, ACM SIGGRAPH Computer Graphics, Volume 29 , Issue 3, August 1995.


Back to top
Project description.

WMLH-4: Virtual reality and fertilization biology.

Key words: 3D graphics, Virtual reality.

Description

The Department has recently acquired a Virtual reality system, specifically a Fakespace RAVEII. This is located in Research Lab 2 on the first floor.

It is a sophisticated system with a large screen several meters square and with a vairety of devices such as data gloves and wands that allow almost immersive virtual reality interactions. See http://www.fakespace.com/products.shtml#

The system is being used by biology researchers who are interested in manipulating 3 dimensional representations of parts of insects. In particular, the project will determine the 3D spatio-temporal pattern of very long insect sperm in eggs. The project, called CRUMBS, involves taking a set of 2 dimensional microscopic sections (tiff images) and assembling them into a 3 d image that can be measured, rotated and manipulated in the RAVEII. Previous work on this project has involved SGI software called CRUMBS. This project looks to create similar software and data manipulation abilities for the software platform used in RAVEII. The joint supervisor is Dr. Rhonda Snook, Animal and Plant Sciences. For an example of these types of analyses, please see: Snook, R. R., and T. L. Karr. 1998. Only long sperm are fertilization-competent in six sperm-heteromorphic Drosophila species. Current Biology 8: 291-294.

See http://www.itg.uiuc.edu/publications/forums/1998-12-03/

The joint supervisor is Dr. Rhonda Snook, Animal and Plant Sciences.

Resources

No specific requirements other than access to PCs and the RAVE.

Reading

Papers for the supervisor. See also http://www.dcs.shef.ac.uk/~wmlh/UCLarticle1.pdf

Back to top

Project description.

WMLH-5: French CD Rom .

Key words: Java.

Prof. Maire Cross of the French Department is producing a CD-ROM of correspondence with the 19th-century French feminist Flora Tristan. The CD needs to be designed to be very user friendly. The project involves looking at the overall concept of the CD and of designing an attractive and user friendly user interface to it.

This project requires programming ability.

Resources

No specific requirements other than access to PCs and probably Java.

Reading

Module Links


Back to top
Project description.

WMLH-6: Word searches and archaic english spellings.

Key words: Java.

Word-lists and the operating of text-based search engines in SGML. One of the difficulties with our material is that it is in non-standard orthographies. Users do not know in advance whether Foxe spelt 'Londone' with an 'e' (which he did sometimes) or without an 'e'. Some places (Shrewsbuiry; Canterbury, etc) have very variant spellings. The project would be to investigate how best to display a word-list from a given database and enable to user to pick out the variant terms from the word-list and get our search engine to search for those which have been picked automatically. This will be jointly supervised with colleagues from the Humanities Research Institute.

This project requires programming ability.

Resources

No specific requirements other than access to PCs and Java.

Reading

Module Links


Back to top
Project description.

WMLH-7: Art agent.

Key words: Java.

This looks at intelligent agents in the context of a single agent which could generate artistic graphical images. The project will consider how a simple series of strategies for constructing graphical images could be defined and then some feedback loop introduced which provided some artistic evaluation (based on simple rules) so that the image could be adapted or extended to provide an image which was in some sense pleasing.

Previously we have looked at an agent to create pictures in the style of Piet Mondrian which involved studying Mondrian's detailed theory of art appreciation. We tried to capture some of his rules in the agent and this has laid the foundation for further work. Another abstract artist who created a detailed theory was Paul Klee and we have looked at this, his pictures involve a more extensive pallette than Mondrian's and so present an interesting challenge and there is scope for more on this. Another interesting artist is Jackson Pollock.

This project requires programming ability.

Resources

No specific requirements other than access to PCs and probably Java.

Reading

Module Links


Back to top
Project description.

WMLH-8: Calculating the Correct Time.


Most computerised calendars can only operate with dates since 1900, it would be nice to have a historical calendar that allows me to enter dates any time in recorded or future history. It should be to able view dates under the various calendars used, and be able to measure time between calendar dates in different calendars.


This project is probably not as simple as it seems as often different calendars were used in different countries at different times, and on occasion the rules for identifying leap years changed and days were inserted. Obviously the country where the date was recorded will be important as well as the local date. With such a complex task testing will be very important, as is the need to simply add in new ways of calculating dates, if required.


Some possible extensions include: + Automatic scheduling of Public Holidays. + Coping with Extra Terrestrial times. + Time dilation in FTL space craft.


Some starting points: http://java.sun.com/j2se/1.4.1/docs/api/java/util/GregorianCalendar.html http://java.sun.com/j2se/1.4.1/docs/api/java/util/Calendar.html http://www.lieberknecht.de/~prg/calendar.htm http://www.ortelius.de/kalender/idx_en.html


Skills: Use of a OO programming language essential


Resources

No specific requirements other than access to PCs and probably Java.


Back to top

Project description.

WMLH-9: Converting existing websites to make them accessible.

Key words: Java, XML.

Recently new legislation was introduced that requires publicly accessible websites to be produced to a certain standard so that disabled persons can use them easily.


This project is to produce a tool which will spider html pages of various formats which are not necessary correct. In any case a maximal amount of the information should be captured and automaticaly parsed into a reliable format, in some cases the user may be prompted to make decisions that the program can't make though this should be kept to a minimum. Ideally, this intermediate data state could then be fed into a further program which produced valid accessible xHTML with CSS and made comments so that the user could correct any mistakes that are not computer checkable. XML would be the ideal format for this intermediate document. A template may be provided during this second stage so that menus and other items could automaticaly be added into the pages.


An intelligent agent approach may be useful and/or interesting to apply to this project.


The solution should be able to cope with as many of the following source sites for input as possible, stripping off the page formating and presenting the information in a logical way. (e.g. removing existing menus and side bars and creating a new template) http://www/~ajhs/ http://www/~sdn/ http://www/~wmlh/ http://www/~ajc/


Some starting points: http://www.techdis.ac.uk/seven/ http://more.btexact.com/people/rigdence/colours/ http://www.w3.org/WAI/ http://www.w3.org/


Skills HTML, CSS, and XML Confidence in a programming language essential Regular expresions and/or the use of parsers/lexers would be benefical though not essential


Resources

No specific requirements other than access to PCs and probably Java.


Back to top


Project description.

WMLH-10: So, you think you can Program?

Key words: Java, refactoring.

So, you think you can Program?

This project aims to formulate a set of rules that can formulate what constitutes a well written program, and to implement these rules in a tool that can assess programs ... and programmers!

These rules might be based around the existance of "bad smells" [1] in code, e.g. duplicated code, long methods, long parameter lists, data clumps, switch statements etc; unused methods, used fields, the extent to which the code conforms to an agreed set of coding standards, and so on. The tool might offer pointers in which the code could be better written or refactored.


References

[1] M. Fowler, Refactoring: Improving the Design of Exisitng Code, Addison-Wesley, 2000.


No specific requirements other than access to PCs and probably Java.