Computer and Internet Technologies

Project Allocations 2006/2007

These project allocations are based on the voting procedure. Proceeding to project depends upon exam board approval.

  1. Babatunde Olusegun : Metaphors in Computer Security
  2. Ballantine David : No selection recorded.
  3. Bhantooa Murvin : Mobile BackPack client in J2ME
  4. Goyal Sonia : An Search Algorithm Tutor
  5. Heinsen Matthias : No selection recorded.
  6. Kareem Ismail Abiodun : Constructivist approach to teaching programming
  7. Kessavalou Sendhilkumar : Detecting spam through textual analysis
  8. Klitou Nicoletta : Educational Tic-Tac-Toe Game (Agreed project)
  9. McAdam James Paul : ICICLE
  10. McKenzie Andrew : A Comparative Evaluation of Teaching Environments for Java Programming
  11. Nandakumar Gopinath : Exams_coordinator
  12. Nutalapati Ratna Praneeth : Personal response system in J2ME and PHP
  13. Paruchuri Harsha : SBCC web presence usability study and re-engineering
  14. Royle Phillip : Web-based Practice with Fractions
  15. Simpson Rory : Mobile device location by audio signalling (Agreed project)
  16. Thomson Stephen : Prototype Visualiser for Suspect Prioritisation
  17. Todd Christopher : Touch Screen Gaming on Mobile Phone Devices (Agreed project)
  18. Venugopal Kamal : Legal XML Demonstrator
  19. Waite Andy : Online Shop Enhancement
  20. Wotherspoon Russell : Co-Evolution Applied to Tournament Poker (Agreed project)
  21. Zhang Kai Yu : Family Trees

1: Mobile Computing

Sotirios Terzis, CIS

Aims: To explore the use of clustering algorithms for the analysis or real mobile system measurements

Objectives: 1. To develop an experimental platform involving a mobile device (iPaqs) accessing a server over a wireless network. 2. To run a series of experiments where the application is used in variety of user movement patterns to collect sets of data. 3. To analyse the collected data using clustering algorithms.

Minimal deliverable: The student needs to develop a basic experimental platform with a very simple server implementation, run a small number of data collection experiments, and run a single clustering algorithm on the collected data.

Advanced deliverable: In addition to the above the student needs to develop a variety of server configurations, run a more extensive number of data collection experiments, some involving multiple concurrent accesses to the server, and run a number of clustering algorithms on the collected data and perform a comparative analysis of their performance.

2: Representing Protein Analysis Data in XML

John Wilson, CIS

A typical protein consists of several long convoluted chains of amino acids and other kinds of molecules. The structure of the protein may define sites that can be useful in drug development. Such a site typically consists of one or many areas where particular amino acids are present in a significant configuration. Data is currently available for the analysis of these structures in the form of a flat file and also a relational database structure. The aim of this project is to convert the flat file or relational representation into an XML structure and to produce a web page that will allow queries on this structure to be executed. The project will require an understanding of database conceptual design as well as JSP or java servlet programming. Interaction with the Department of Pure And Applied Chemistry will help to refine the specification of this project.

3: Legal XML Demonstrator

John Wilson, CIS

Legal XML is the emerging standard for electronic document representation in legal institutions. The purpose of this project is to explore this standard and build a demonstrator system that converts legal documents into this format and validates them against a schema represented as a DTD. The project will be Oracle-based. Code for the project will involve PL/SQL and also XML extensions of SQL (SQL/XML).

4: Integrating Text Retrieval and Database Queries

John Wilson, CIS

About 80% of global data is unstructured or semistructured and is represented largely by text etc stored on the Internet. Search engines such as Google index this text and support rapid retrieval of useful documents based on keyword terms. By contrast the remaining 20% of data is stored in databases and accessed by query languages such as SQL, which often have performance problems. There is growing interest in integrating the search approaches for unstructured data with search approaches for databases. The aims of the project are to develop an overview perspective of the competing ways of searching data that are represented by search engines and databases and to examine the possibilities for exploiting the benefits of both approaches. Practical implementation will probably be based on Oracle (or other) using both text search and SQL query as well as XML.

5: SBCC web presence usability study and re-engineering

Ian Ferguson, CIS

Project area: Web usabilty/design

Aim/background: The Scottish Business Crime Centre (based in Stirling) seeks to tackle the problem of crime targeted specifically at business by dissemination of information and promotion of best security practice in all areas of commerce. Their website publicises their services and membership facilities as well as providing access to statistical analysis and trend reporting systems which form the front end of an incident report database. As their users are primarily non-technical, it is of paramount importance that their website is easily usable.

Objectives: This project seeks to examine the current SBCC website, associated backend systems and intended audience from a usability perspective. A more appealing/usable web solution design is the expected output.

Minimum deliverable: A report highlighting the usability issues with the current site

Advanced deliverable: A new website

Please note that to be allocated this project, the student must be acceptable to the SBCC and may have to have satisfactory Disclosure Scotland checks prior to embarking on the project.

6: Comparison of Several Algorithms for Multi-Processor Scheduling

John Levine, CIS

Topic area: artificial intelligence, scheduling

Aim: to apply a number of algorithms to the problem of allocating tasks to processors and compare their performance Objectives: the problem of allocating tasks to processors occurs in many contexts, including computing, manufacturing and business. We are given a set of tasks, T and a set of processors, P. For each t in T and for each p in P, we know the time taken for p to process t, time(t,p). When all the tasks are scheduled, we are concerned to minimise the total time to complete all the tasks, which is known as the makespan. To solve this problem, we can start with a given allocation and swap some tasks around to try to achieve a lower makespan - this is known as local search. The aim of the project is to compare the performance of several local search algorithms on a large benchmark data set, and to create new algorithms for solving the problem.

Minimal deliverable: comparison of known algorithm on Braun's data set

Advanced deliverable: creation of new algorithms which out-perform the existing algorithm and publication of a paper on the results.

7: Detecting spam through textual analysis

George Weir, CIS

The increasing occurrence of spam email is a serious concern since it wastes considerable time and resources for individuals and organisations. Presently, there are a variety of techniques used to detect and block spam. This project will explore the possibilities for using textual analysis techniques, such as keywords, collocations and frequency, as basis for testing whether example email are instances of spam.

A variety of existing textual analysis tools may be used to derive ways of filtering email content and make judgments on its likely nature. In addition, there are collections of spam emails that can be used for test purposes. Output from this project should include a software program that is able to read sample emails and produce an estimate of whether it is spam or not. Programming language and platform are negotiable.

8: ICICLE

Ian Ferguson, CIS

Area: context aware/mobile computing

Aims/background: The convergence of various electronic devices (camera, phone, PDA, GPS etc) means that sensor-rich mobile computing devices are now becoming commonplace. A typical phone/PDA will be capable of sensing audio, video, location, proximity to other devices, infra-red radiation, and light levels. An open means of integrating and distributing data from these sensors (producers) to context aware applications (consumers) is required.

Objectives: This project seeks to build a prototype publish/subscribe-based middleware that makes both raw and filtered sensor data available in an open format. The system, ICICLE, will enable the simple construction of plugins to deal with new types of data and filters to combine and process data types. The use of technologies including MSMQ and WSE for event distribution and subscription management, SOAP/WSDL for service type description and XPATH for service requirement specification should be investigated.

Minimum deliverable: A simple producer (possibly based around the use of MSMQ) which reads predefined types of sensor data and passes it to a queue and a simple consumer which reads predefined sensor data from a queue.

Advanced deliverable: An event based context system which utilises typed pipes, dynamic discovery of data-sources based upon published type description and the use of plugins.

9: Simulating the BLUEFISH algorithm

Ian Ferguson, CIS

Area: Mobile/location aware computing

Aims/background: The bluefish system is a local area position system being developed within CIS. Location beacons which form the system are initially required to estimate there own location from estimates of separation from other beacons (with known locations). This can be seen as a geometrical constraint satisfaction problem and might be tackled by adapting techniques from graph layout algorithms and computational geometry.

Objectives: This project will investigate the feasibility of using such approaches to transform a graph model of beacon connectivity into a geometric model.

Minimum deliverable: A program which models the bluetooth beacon problem (in terms of beacons, connections, positions and constraints on those positions) and allows the testing and comparison of different approaches to laying out a graph in 2D space.

Advanced deliverable: A working algorithm that estimates beacons position in 3D and the error in the estimate.

10: Building Qualitative Process Models

Derek Long, CIS 

Area: AI/Computing:

Ken Forbus developed the idea of qualitative process theory as a way to capture intuitive knowledge of physical systems and support common sense reasoning about their behaviours. A challenging task is to support users in constructing qualitative models of physical processes.

Aim: This project is about providing a tool to support construction of these models, using an appropriate interface to give convenient access to the construction tools.

Objective: To develop a tool to support the construction of qualitative process models of basic physical processes.

Minimal deliverable: Tool that allows construction of a restricted set of basic physical process models.

Advanced deliverable: Various options - extended set of processes; tool for animating processes; tool for performing some basic reasoning about processes; techniques for modelling the attachment of sensors to the processes.

11: USHER 2 [Universal System for Handling Enquiries and Responses 2]

Duncan Smeed, CIS

The purpose of this project is to extend and enhance the highly successful USHER project from last year (see CS4/5 Project Report Summaries | SMEE1. USHER]. The original USHER (henceforth USHER 1) system was similar in concept to the way a call centre handles, logs, and tracks, enquiries. USHER 1 was designed and implemented to track UCAS applicants' enquiries and replies since the current system relies heavily on a handful of staff and the informal coordination arrangements to distribute and share the load. It is envisaged that the first phase of USHER 2 will be to configure and deploy USHER 1 as a 'live' system to track UCAS applicants' enquiries and replies. This should be straightforward and should be achieved within the first few weeks of the project start. The next phase of USHER 2 would be to extend and enhance it to handle some other aspect(s) of Departmental e-mail tracking.

See www.cis.strath.ac.uk/~dunc/teaching/projects/usher2.html.

12: SubVerS [Subversion for Verification of Submissions]

Duncan Smeed, CIS

The purpose of this project is to use the Subversion version control system as the foundation for a coursework submission system. It is envisaged that this submission system will exploit the features of Subversion that track the changes to a document. Normally such change tracking is used to control the versioning of software source files and ease the management of large and complex software development projects. In the case of SubVerS, the various revisions to some source file(s) and/or document(s) give an audit trail of work undertaken for a specific assignment. For this to work as a verification system the students would be required to check-out and check-in their changes to such files rather than just work 'off-line'. Since ease of use and convenience will be a major factor in the adoption of this type of working practice the end product should pay due attention to these aspects.

See www.cis.strath.ac.uk/~dunc/teaching/projects/subvers.html.

13: (RSS)^2 [Remote Screens Showing Rich Site Summaries]

Duncan Smeed, CIS

The purpose of this project is to investigate the feasibility of using the RSS format to encode the content for remote systems - low-spec, stripped-down Linux systems running a web-browser. This would therefore involve incorporating some form of RSS filter on the Linux systems that would fetch the RSS files using HTTP and convert them to the form of HTML suited to the limited capabilities of the remote systems. Investigation of the various options available to implement such a system would form part of the project and the design and implementation of the best option would form the other part of the project.

See www.cis.strath.ac.uk/~dunc/teaching/projects/rss2.html.

14: Web-based Practice with Fractions

Isla Ross, CIS

This project involves the production of a web-based learning aid for school pupils in order to provide them with exercises to improve their skills in working with fractions. For example this could involve addition, multiplication and simplification of fractions but the actual choice of fraction topics is left up to the student undertaking this project.

The software should provide the user with practice through generating examples, checking solutions and providing appropriate feedback and assistance.

15: Family Trees

Paul Goldfinch, CIS

Like many people, I like family trees - patterns of relatives going as far back in time as possible. Indeed, I have two sets of information, one concerning my own family and my wife’s, which covers perhaps a couple of hundred people over the last two or three hundred years, and one concerning the royalty and some of the nobility of - well, let’s say Western Europe - for the last 1200 years; that one has some four or maybe five thousand people.

This leads to at least two questions. Firstly, how do we exploit on the web a large fact base of information? What I didn’t say was that all my records are in the pattern of fixed form predicates (they are in fact coded in the language Prolog), though you would not need to be concerned with that language. Secondly, how can we use the web as a tool to support the development of family tree information? It would be nice to exploit the standard GedCom format for storing personal information and make that accessible.

Clearly one approach to those two questions is in terms of web-database linking, perhaps using things like Perl or Java or Javascript and some back-end database. But conceivably there could also be a different response , in terms of the way the information is assembled and then disseminated back through local communities.

16: An Search Algorithm Tutor

Alex Coddington, CIS

Many Artificial Intelligence programs use search strategies to find solutions to problems. This project will involve developing a search tutoring system which shows a novice user how different search strategies work. The system could use a simple example to illustrate each strategy, such as the route-finding problem which involves finding the shortest route between two towns (Russell & Norvig has a simplified map of the towns in Romania showing the distance between each town). The system should show a number of different search strategies such as breadth-first, depth-first, best-first, A* and local search algorithms such as hill-climbing and simulated annealing.

In addition, the system should allow the user to select the problem (e.g. for the shortest route, select the two towns they would like the shortest route for), and select the search strategy. The user should be able to step through the search process and the system should provide an explanation of each stage. Ideally, in order that the user can learn how each search strategy works, they should be able to interact with the search process by providing their own input as to what the outcome of each stage should be. The system should compare the user's input with the actual outcome of each stage and provide feedback as to whether the user is correct or not.

References: Russell & Norvig, Artificial Intelligence: A Modern Approach

17: Visualising State Trajectories in Hidden Markov Models

Maria Fox, CIS

A Hidden Markov Model is a particular kind of finite state machine used to represent the behaviour of stochastic systems. The behaviour of the systems being modelled is to progress through the states of the model in a way that can be understood probabilistically. We have tools that allow us to construct both Hidden Markov Models and, from raw data, the probabilistic sequences of states visited by a system for a particular set of observations.

Aim: This project is concerned with attempting to visualise the sequences of states that are visited by a system. The reason for attempting this is to support users in attempting to understand what the states in the model might represent and how the typical behaviour is reflected in the states that are visited.

Objective: To build a visualisation tool that will enable a user to watch the behaviour of a system as it transitions through a Hidden Markov Model.

Minimal deliverable: Basic visualisation of a trajectory in a HMM.

Advanced deliverable: There are several directions this work could go. For example, the management of very large models requires some sort of abstraction to help the user to track behaviour meaningfully within the model. Another possibility is attempting to identify the difference between normal modes of behaviour and other modes by examining the patterns of states they visit. A further option is to find a good way to visualise the way that new incoming data can force a revision of the best explanation of the path through states in the past (so that the model reflects not only which state the system is currently in, but also its most likely path to have reached that state).

18: A Comparative Evaluation of Teaching Environments for Java Programming

Murray Wood, CIS

Topic area: Programming Education

Aims:
The aim of the project is to compare the relative strengths and weaknesses of current teaching environments for novices learning object-oriented programming in Java. The teaching environments should including BlueJ, jGRASP and DrJava.

Objectives:
1. Literature review: previous work comparing teaching/programming environments, review of current Java teaching environments
2. Identify a set of criteria for comparing teaching environments
3. Identify a set of programming tasks to be used as a basis of the comparison
4. To carry out a comparison of a small set (4-5) teaching environments using the programming tasks (3) against the criteria (2).

Minimal deliverable includes: literature review of previous and related work, review of candidate teaching environments, identification of realistic set of evaluation criteria, identification of appropriate set of programming tasks, and a systematic evaluation.

Advanced deliverable: Merit achievement would be based on showing originality and innovation throughout the project. A star project may have the potential to be published.

19: Can Ants Test Programs?

Marc Roper, CIS

Topic Area: Software Engineering

Background: Ant Colony Optimisation algorithms attempt to mimic the very efficient behaviour displayed by ants in locating food sources and adapting to obstacles and changes in an established route. The problem of automatically generating test data for a program can also be seen as a search problem and many interesting developments have been made in this area.

The aim of this project is to investigate how ACO algorithms can address this problem and build a system to support their application to program testing.

Aims: To investigate the extent to which ACO algorithms can address the problem of automated test data generation.

Objectives: Investigation of ACO algorithms. Investigation of the problem of automated test data generation and the existing biologically-inspired approaches. Development of a system to support the application of ACO algorithms to the problem of testing.

Minimal Deliverable: Thorough background investigation and small example demonstration.

Advanced Deliverable: As minimal but a more sophisticated system that handles a range of programs (and possibly paradigms).

20: Exams_coordinator

John Wilson CIS

The purpose of this project is to build a PHP script that is capable of co-ordinating the activities of departmental exams coordinator. The model for this is a system for coordinating paper submission to a conference (PCChair - available on Sourceforge but there is a copy in the Department that runs on PHP4). The specific requirements for the exams_coordinator system will be provided separately.

The aim of the project is to produce a finished product that will be capable of running a complex system involving handling documents by individuals with a number of roles, allocating papers to referees, coordinating responses from referees, collecting finished copies of papers, and subsequently receiving marks for papers and coursework and generating appropriate schedules.

It will be very important to produce a coherent design for the software and also to provide good maintenance documentation.

It will require skills in PHP, HTML, Javascript and MySQL.

21: Personal response system in J2ME and PHP

Mark Dunlop, CIS

Personal response systems are the in-class equivalent of "ask the audience" in Who Wants to Be a Millionaire. The lecturer asks a question to the class and they individually reply through a voting system. Traditionally this was very expensive to instal as it required a remote control per person and a dedicated server to recieve and process the responses. Given that 90%+ of students carry mobile phones and most of them have a java virtual machine on them, we could move the PRS onto Java thus have it working in any lecture room. Extensions might include looking at cognitive conflict: a strong problem in programming where students hold on to wrong ideas until these are dramatically proven wrong, we have some research in this in the dept and developing PRS system to support cognitive conflict would be publishable. You will conduct a literature review into PRS systems and in-class technology; develop a client application on a mobile phone in J2ME; develop a server application in PHP to recieve votes and present vote statistics; and conduct some usability experiments to test the system.

22: Mobile BackPack client in J2ME

Mark Dunlop, CIS

BackPack is a web based system for writing and sharing notes as well as other items. BackPack comes with an XML based API so that new clients can be written that can read/write/edit items written on BackPack. Since many of us have spare time to kill on buses, trains etc - it would be handy to be able to edit items on the move. J2ME supports quite detailed java development on mobiles but the screen size is always a limiting factor. Extensions would include looking at visualisations to support collaboration - an editor that shows what other people have done through visualisation would be publishable.

You will conduct a literature review into design of editors for mobile systems; develop a BackPack notes editor in J2ME to run on a range of mobile phones -- ideally tuned to different screen sizes using text visualisation/scaling techniques (optionally a server might be needed to reduce communication with phone - if needed this would be in PHP); test this application in collaborative settings using usability evaluation techniques.

23: Concept keyboard for evaluation studies in J2ME

Mark Dunlop, CIS

When analysing video or interactive sessions it is often useful to have a log of time-stamped events that have occurred in a set of categories, e.g. everytime the user is distracted from the device or touches the mouse. One easy way to analyse videod or live activities is to use a concept keyboard. These are specialist keyboards labelled with the event (e.g. "distraction", "touched mouse"). It would be useful to have a similar application running on mobiles to help in assessment of mobile interaction. this would involve a J2ME application that can log events by timestamp and send that log either to a web site or save it onto a memory card. A graphical display on the screen would show the concepts while the user would tap the standard number pad on events. Extensions might include linking to video recording using the on-phone camera.

You will conduct a literature review into usability assessment on mobiles and use of concept keyboards in HCI; develop a J2ME application on a mobile phone; test this application using various scenarios.

24: Study of collaborative authoring environment

Mark Dunlop, CIS

People often want to collaboratively write documents together. This project will survey both the academic literature on how best to support this and (though survey and user study) the current state of practice. There are several approaches: using traditional office tools (e.g. Word); using web based systems (e.g. GoogleDocs or BackPack); using dedicated collaborative tools.

You will conduct a literature review of collaborative authoring; survey current tools; conduct usability tests to compare current tools using criteria informed from the literature review.

25: Prototype Visualiser for Suspect Prioritisation

Supervisor: Ian Ruthven, CIS; Researcher: Richard Bache, CIS

Current research in the Department is using Information Retrieval techniques to analyse police data and in particular to provide a list of suspects for an unsolved crime by linking it with past solved crimes from text descriptions of those crimes. This is conducted within the iMOV project funded by the EPSRC. The aim of the project is to design and implement a prototype user interface to be build over existing software which performs analysis of crime data. Such a system should be usable by police officers who are the planned users of such a system. The student will work with Richard Bache who is a full-time researcher on the project for the duration of the project

The objectives of the project are:

  • To Investigate and describe the underlying technologies for prioritising suspects and assigning a probability to each known offender.
  • Design a user interface and choose suitable representations to input and output mathematical information in an easily comprehensible format.
  • Gain competence in the technologies used to create user interfaces (e.g. Visual Classes in Java)
  • Implement a prototype system in Java.

    Minimal deliverable: A system which represents the outputs of the models in a way compressible for a non-technical user.

    Advanced Deliverable: Links suspect prioritisation with underlying terms found in the descriptions or else produces innovative ways of visualising data.

    For further details, please contact Richard Bache room 11.07 or at rb@cis.strath.ac.uk

    26: Exploring readability

    George Weir, CIS

    As readers, we are often aware that some texts are less easily understood than others. This may be a feature of the vocabulary used in the text, or it may arise from the style employed by the author, or for several reasons simultaneously. Considerable research exists in the area of readability measurement and there are a variety of techniques that can be applied to gauge the readability of a sample text. This project will explore the use of frequency measures (for words and word combinations) as a basis for estimating text readability. Output from this project should include a software program that applies one or more readability measures to return an estimate of text readability for a set of texts. Programming language and platform are negotiable.

    27: EvoTanks

    John Levine, CIS

    Topic area: artificial intelligence and games

    Aim: to enrich the EvoTanks game in some significant way

    Objectives: EvoTanks is a version of the old but popular Atari 2600 game of Combat. In EvoTanks, the human plays against a player which is not pre-scripted, but evolved using either a process of co-evolution or evolution against static opponents. In the current version, the evolved player has only 3 inputs, and therefore cannot "see" certain crucial items in its environment, such as the walls of the arena or enemy shells. The purpose of the project is to enrich the game to include such things. The project can be quite open-ended, and allow the project student to explore areas such as evolving teams of tanks or real-time learning of behaviours in response to the strategy adopted by the human players.

    Minimal deliverable: EvoTanks enriched with a new feature and results on how well this feature works.

    Advanced deliverable: open-ended - see above. The aim is to evolve players which are hard to beat and interesting to play against. A paper on how to achieve some aspect of this should be possible.

    28: Online Shop Enhancement

    SIMUL8 Corporation

    141 St James Rd, Glasgow, G4 0LT
    tel: 0141 552 6888

    Note: Simul8 will want to interview those wishing to undertake this project.
    You should contact the company directly and if you are accepted for this project, advise George Weir ASAP.

    The Organisation: SIMUL8 Corporation is a dynamic young company offering simulation based software and solutions. We are headquartered in Glasgow, UK with a worldwide market. Our customers include major corporations in finance, manufacturing, healthcare, telecommunications, and logistics as well as public sector healthcare and transportation organisations.

    Our business sells our own award winning software, carries out consulting projects for clients and designs bespoke simulation and decision support systems.

    Project Background: Our online shop needs improving. It needs:

  • Re-structured to sell both products and services.
  • Functionality added to make it more user friendly.
  • To process transactions in sterling as well as USD and process the credit card automatically.

    Project Objectives: This project will involve understanding our current online shop system and working with the webmaster to design a new shop structure. You will need to research which is the most appropriate payment provider to use for UK credit card processing and creating the scripts to communicate with them. A specification document of the proposed solution should be created. Having completed this design phase and agreed the solution with us you will then be responsible for its implementation.

    Deliverables:
    A specification document of the proposed solution.
    Complete implementation of the solution.
    Documentation of the solution to allow us to manage and adapt it going forward.

    Location of Project: At SIMUL8's headquarters in Glasgow, Scotland.

    Key Skills:
    General Programming skills with in depth knowledge of one language (essential).
    Perl, cgi, html and mysql programming skills (essential).
    Excellent communication skills.
    Strong organisational skills.

    Additional Comments:
    We will be paying you while you work for us so you will be expected to work Monday to Friday 8.45 to 5.15. You will be expected to participate as part of the company team in addition to completing their project, for example tasks such as answering the phone. These additional tasks will not form a significant part of your working day.

    29: License Management System

    SIMUL8 Corporation

    141 St James Rd, Glasgow, G4 0LT
    tel: 0141 552 6888

    Note: Simul8 will want to interview those wishing to undertake this project.
    You should contact the company directly and if you are accepted for this project, advise George Weir ASAP.

    The Organisation:
    SIMUL8 Corporation is a dynamic young company offering simulation based software and solutions. We are headquartered in Glasgow, UK with a worldwide market. Our customers include major corporations in finance, manufacturing, healthcare, telecommunications, and logistics as well as public sector healthcare and transportation organisations.

    Our business sells our own award winning software, carries out consulting projects for clients and designs bespoke simulation and decision support systems.

    Project Background:
    We offer students of universities who purchase our Educational Site License a 3 month student license. The administration of this system needs to be secure to prevent abuse by commercial customers but as a result has become too labour intensive. We wish the process to become entirely automated.

    Project Objectives:
    This project will involve creating an online system to manage the password protection of the download and the automatic re-issuing of new passwords every 3 months. The system will also need to integrate with our offline database so some modification of our existing web-database integrator software will be required. A specification document of the proposed solution should be created. Having completed this design phase and agreed the solution with us you will then be responsible for its implementation.

    Deliverables:
    A specification document of the proposed solution.
    Complete implementation of the solution.
    Documentation of the solution to allow us to manage and adapt it going forward.

    Location of Project:
    At SIMUL8’s headquarters in Glasgow, Scotland.

    Key Skills:
    General Programming skills with in depth knowledge of one language (essential).
    Perl, cgi, html and mysql programming skills (essential).
    Excellent communication skills.
    Strong organisational skills.

    Additional Comments
    We will be paying you while they work for us so will be expected to work Monday to Friday 8.45 to 5.15. You will be expected to participate as part of the company team in addition to completing their project, for example tasks such as answering the phone. These additional tasks will not form a significant part of your working day.

    30: Metaphors in computer security

    George Weir, CIS

    In describing or explaining aspects of computer security, we often apply metaphors in order to convey our meaning. For instance, secure data transactions use 'keys', 'certificates', and 'signatures'. Like all metaphors, there is a risk that some details may be misunderstood through inappropriate extension of the metaphorical 'similarity'. The purpose of this project is to investigate the way in which such metaphors may influence our understanding of the underlying details, e.g., do some metaphors obscure aspects or lead us to misunderstand the full picture? This work will require considerable reading around the security area and may result in a taxonomy (classification) of metaphor use in this subject area. A possible software component may be the use of animations to illustrate the 'misleading' use of metaphors against the true picture of events.

    31: agentSpace on Symbian

    Ian Ferguson, CIS

    Area: Mobile computing

    Aims/background: The symbian OS, as used by many mobile phones, provides facilities for running Java based programs. The agentSpace mobile agent framework was developed for use in a desktop Java environment. The availability of a mobile agent framework on a physically mobile platform opens up interesting possibilities for location/context aware computing and fluid computing by providing a layer of abstraction above the execution environment.

    Objectives: This project will investigate to what extent the facilities provided by agentSpace can be ported to a mobile platform.

    Minimum deliverable: A middleware which will transfer the state of mobile agents between two agentservers running on different Symbian based devices.

    Advanced deliverable: A version of agentSpace running under Symbian which allows the exchange of code and state of mobile agents and if possible provides some degree of interoperability with the desktop platform.

    32: Constructivist approach to teaching programming

    John Ferguson, CIS

    Many educationalists believe that the traditional approaches to teaching, based on lectures and textbooks, are too passive and do little to challenge pre-existing ideas or to help students create 'mental models' of new concepts. The theory of constructivism argues that students actively construct knowledge by combining the experiential world with existing knowledge. One of the key teaching strategies in this approach is that of 'cognitive conflict' which explicitly challenges existing ideas in order to encourage the learner to recognise possible errors in their understanding and to try to make corrections.

    This project would involve a literature review of mental models as well as constructivist learning theories and teaching methods. Further work would then focus on the application of these ideas in the domain of teaching and learning of introductory programming.