CS300 PROJECT GUIDELINES 2008-09


Computing & Information Technology
Computer Modelling & Simulation
Computer Science & Engineering
Computer Science
Computing & Communications
prepared by H. Tang


Contents

Introduction

These guidelines will be made available in PDF on the Ulearn CS300 site at the start of the Autumn semester. They are primarily designed to help you to choose a project. Details on how the project will be assessed are also included, for information, but these are subject to modification and will be explained to you in detail at the start of the Autumn semester.

What does a project involve?

A Final Year (or Professional) Project is a module that allows you to undertake a major piece of work that will involve developing and applying material encountered on the course under the guidance of a supervisor, who is normally a member of the teaching staff. The Project lasts for the whole academic year and involves practical work and writing a report on the work done. A major part of the assessment is based on the report and the work reported therein, while two presentations account for smaller parts (see the Deliverable Dates and Marking Criteria sections).

This module is different from all other modules in that the content is determined to a large extent by you, the student. The Project gives you a lot of freedom in choosing what to study, but on the other hand it requires a lot more independent thought and organisational skills than the majority of modules. Therefore, the project should not be considered an easy option as most students find it more demanding than the usual lecture courses. However, it is also more rewarding and a well-executed project can give confidence and pride in the results. It is also something that can be used to demonstrate ability to potential employers.

Aim and Purpose

The aim of the Project is to demonstrate that you are able to undertake and complete a substantial piece of work at a professional level. It is also intended as an opportunity to put into practice various concepts and techniques studied on a Computing degree programme. The project will help the student to acquire a deeper insight into certain aspects of computing, a particular application domain, or both.

If you are undertaking the Project in collaboration with an external organisation, then you may also wish to arrange for a co-supervisor from outside the University. All such arrangements must be formally approved by the Director of Undergraduate Studies in the Department of Computing.

Scope and Content

The Project may focus on any of the themes within the degree programme. The student is generally expected to create new software or to apply existing tools and techniques in order to solve a well-defined problem. In keeping with the overall purpose, it is desirable that the output from the project should be ``real'' in the sense that it meets a real need of some external organisation or class of end-users, or that it can be used to do a real job for someone other than the author. The development of a product for use by the student alone is not acceptable; nor is a project whose outcome embodies little or no individual contribution by the student (such as a literature survey or a descriptive evaluation of work that was carried out entirely by others).

It is essential that the Project be carried through to some appropriate conclusion, i.e. a clearly identifiable achievement, which can be shown to be of value to its potential ``customers''. For a traditional software development project, this means that the whole of the initial life-cycle must be taken into consideration when establishing the project objectives and workplan:

Your first concern must be to ensure that the project is feasible, so that its objectives can be achieved within a fixed timescale and that necessary resources are actually available. Thereafter, you should ensure that the work carried out at each successive stage has been completed to a suitable professional standard - that is, with due attention to both quality and fitness for purpose.

It should be emphasised that a Project is not expected to result in 'new discoveries' as would be the case for postgraduate degrees. However, you are expected to use originality in the compilation of your report, showing insight, technical creativity and imagination. The wholesale copying of material from books in undigested form is not appropriate.

Choosing a Project

This year, choosing your project will be done via email negotiation with potential academic supervisors. There is flexibility to choose your own project topic and your supervisor. However, we also provide a Projects List so that you can choose from one of these. The Department will make all reasonable attempts to satisfy the requests made by students so that a student has the opportunity to work with an academic who is interested in the student's chosen project.

You should choose your own project or select one from the list from now on. The sooner you choose the more likely it is that you will get the project/supervisor of your choise. This means that you can start to prepare for your project over the summer if you wish to do so. There will be around 53 students entering level 3 in 2008.

This year, each academic will supervise around 4 students. 4 students is the cut-off. Supervising more than 4 students will need to be approved by the project co-ordinator. Otherwise, there could be an imbalance in the number of students being supervised by individual academics and this will not allow some supervisors enough time to supervise their project students adequately.

Dr Tang will be returning this year and will be supervising her full quota of students. Dr Gruning will also be supervising his full quota of students this year. Professor Schneider will only be supervising 2 final year students. Note also that the Dr Mitchell is no longer at the University. However, 3-D graphics projects are available.

Note that Dr Browne will be away until 7th July. Students interested in doing a project with Dr Browne should email Lilian Tang (Projects Co-ordinator). Also, remember that most academics will be taking annual leave during the vacation.

Choosing your own project

Students are only allowed to attempt their own project provided that they can persuade a member of staff to supervise it. The following are the steps you need to follow:
  1. Email an academic to ask him/her to be the supervisor, enclosing an outline of the work that you wish to undertake. In order to find an academic with a background in your chosen topic area, please read about the general interests of the academics who will be supervising projects this year.
  2. Once you agree with a supervisor, the supervisor MUST email the CS300 Projects Co-ordinator to record this agreement to supervise you.
  3. The student's name will then be posted on the list of allocated students on the CS300 website by the Projects Co-ordinator. Until your name is on the list, you are not guaranteed to be associated with a particular supervisor. Once your name is on the list, you can make a start on the project.
If a student chooses an industrial project then the guidelines on Collaborative Projects must be read. (see document for download on the web-site).

Choosing a project from the list

Students are also asked to look at the list of projects offered by supervisors. These projects are of an appropriate level for a final year project. The following are the steps you need to follow if you want to do one of these projects:
  1. When you identify a project you would like to do, you should contact the academic directly to secure it. It is allowable for more than one student to do the same project, because they can be tailored to be different even though they start out with the same title.
  2. Once you agree with a supervisor, the supervisor MUST email the CS300 Projects Co-ordinator to record this agreement to supervise you.
  3. The student's name is then posted up on the list on the CS300 website by the Projects Co-ordinator. Until your name is on the list, you are not guaranteed to be associated with a particular supervisor. Once your name is on the list, you can make a start on the project.

Choosing a project on your behalf

If you haven't chosen a project by the beginning of the semester, 8 September, then we will allocate you to a supervisor. The project that you will undertake will be chosen in discussion with the allocated supervisor. Failure to take responsibility for choosing your project is not a good start to the largest part of assessed work in your final year, and we encourage you to actively engage in finding a supervisor.

Resitting a project

If you have failed your project in 2007-08 or have withdrawn from the project without medical reasons, then as a resitting student you should also engage in the process above. You must choose a new topic and a new supervisor. Normally, the deadlines for the project deliverables will be the same as for the other students.

Continuing Students

Students who have been granted extensions due to special circumstances and are continuing their projects from last year can continue with their chosen project or choose a new topic subject to the arrangements that have been agreed with your supervisor, the Projects Co-ordinator and the Director of Undergraduate Studies. The deadlines for your project will be set on an individual basis.

General Interests of Supervisors

If you have your own project in mind then you should look in this list to find an appropriate supervisor that has an interest in your topic ideas.
N. Antonopoulos
Simulation of networks, Impact of Internet-related software, such mobile agents, on society and business, Web interfaces, Design and implementation of simple task specific Web robots, Neural networks simulator, Distributed maths package on the Web.
T. Browne
Theoretical analysis and practical application of intelligent and adaptive systems, including neural networks, fuzzy logic, genetic algorithms and knowledge extraction/data mining techniques; Bioinformatics and Medical applications of these technqies, including genomic sequence analysis, protein property prediction, structure/function relationship prediction for novel chemical compounds and support vector machines for novel chemotherapy treatments.
M. Casey
Theory and application of Neural Networks, related Artificial Intelligence techniques, combining multiple classifier and neural systems, simulating psychological abilities
J. Clark
Genetic Algorithms, Neural Networks, Artificial Intelligence, Computer Based Scientific Tools, Fault Diagnosis, Taxonomy, Classification, Identification, Pattern Recognition, Biological Data Analysis.
L. Gillam
Computational terminology, information extraction and Grid computing.
André Grüning
Theory, applications, simulation and analysis of artificial neural networks. Learning algorithms for neural networks (gradient descent, back-propagation, reinforcement and genetic algorithms, weight perturbation). Computational power of neural networks. Cognitive modelling. Language processing, language evolution and language modelling. Theory of computation.

Traffic flow control, traffic management systems, Railway signalling systems

Open Source software. Handheld programming. Web 2.0. Java, Perl, PHP, JavaScript, C++ ...

J. Heather
Security, cryptographic protocols, protocol verification using process algebra, concurrency, modelling of concurrent systems.
A. Ho
Digital watermarking and authentication of multimedia and binary documents. Digital steganography, steganalysis and detection of hidden messages in images. Watermarking applications.
P. Krause
Software Reliability Assessment, Requirements Analysis, Software Specification, Software Testing, Pervasive Computing.
R. Peel
Parallel processing (typically using Occam or Java threads), Digital logic synthesis and hardware compilation, Applications of field programmable gate arrays (FPGAs), Linux internals (device drivers, etc), Web-based computing (maybe using Java or Perl).
H. G. Schaathun
Copyright Protection and DRM, Digital Watermarking and Fingerprinting, Cryptography and Information Security, Coding Theory and its applications to Watermarking.
S. Schneider
Formal methods, concurrent systems, security, electronic voting, advanced methods for software development, hardware/software co-design, embedded components, modelling and simulation, modelling of nanotechnology architectures.
L. Tang
Perceptual HCI (e.g. Virtual reality HCI), image processing, Multimedia information systems, natural language processing environment/platform, children education system, medical information system
H. Treharne
Modelling and simulation of concurrent systems (using CSP||B and JCSP and Java), for example evolutionary behaviour and control systems. Binary watermarking. Eclipse plug-ins. Lego-mindstorm applications for use in schools workshops.

B. Vrusias
Artificial Intelligence, Neural Computing, Data Mining, Information Extraction & Retrieval, Multimedia Systems and Web Technologies. Applied neural network combination techniques on language and vision.

Projects and Supervisor Lists

In this section, you will find a list of all projects being advertised this year. The list may be subject to change as new ideas come to mind.

  1. Implementation of a New Peer-to-Peer Network
  2. Enhancing Searching Techniques in Peer-to-Peer Networks Using Software Agents
  3. Providing Authentication and Access Control in Peer-to-Peer Networks
  4. Interoperability Between Peer-to-Peer Networks
  5. Marking Spam Using Collaborative Filtering Techniques
  6. Machine learning for medical diagnosis
  7. Clustering bioinformatic data using machine learning techniques
  8. Development of an expert system
  9. Visualisation of music using machine learning techniques
  10. Neural Networks and Robotic Behaviour
  11. Modelling the Superior Colliculus - Multisensory Integration in a Robot
  12. Playing Games with Neural Networks
  13. Neural Network Ensembles, Classification and Game Theory
  14. Time Series Modelling
  15. Neural Networks for Botanical Identification
  16. Computer-based Classification of Galaxies
  17. Computer-based Astrobiology - The Search for Life in the Universe
  18. Botanical or Astronomical Databases
  19. Pocket PC Software Development for Field-based Scientific Surveys
  20. Virtual Worlds / Second Life
  21. Coursework Feedback
  22. Intensive Computing
  23. Text Grids
  24. Visual Search
  25. World Languages
  26. Top Ranking
  27. Automatic Trading
  28. Sentiment Analysis
  29. Duplication Detection
  30. Railway Traffic Flow Control
  31. Cognitive Modelling
  32. Find the most important RSS news
  33. Learning algorithms for neural networks that are efficient and biologically realistic at the same time
  34. A unified database of neural networks and their training
  35. Computational properties of simple recurrent networks
  36. Computational modelling of natural language
  37. An event-driven simulator for spiking neurons with pulse coupling and spike-time-dependent learning
  38. A modular Java strategy game development kit
  39. A flexible database system for management of Java strategy games
  40. An automated system for timetabling exams
  41. Extensions for Moodle
  42. 3D Su Doku
  43. Authentication and Restoration of Watermarked Images
  44. Digital Watermarking of Audio Content
  45. Digital Watermarking for Binary Images, Graphics and Text Documents
  46. Steganography Detection and Analysis of Hidden Data in Images
  47. Video Surveillance Analysis and Authentication
  48. Smart keys for smart motorists
  49. Integrating risk assessment into project management
  50. Use of Bayesian Networks for automated plant identification
  51. Automated practical reasoning about actions using models of argumentation
  52. Java toolset for ecological models
  53. Development of an Ethernet design for implementation using hardware/software codesign techniques
  54. Research into, and Implementation of, a Software Radio
  55. Investigation of Asynchronous Logic as a target for hardware compilation
  56. Re-implement the EA Tank Wars game using JCSP or KRoC (Occam-Pi)
  57. An improved device for rendering mapping data
  58. An improved device for capturing mapping data
  59. Capturing e-Voting form information
  60. Exam Paper Processing with Public Key Cryptography
  61. Web Tutorial (Cryptography)
  62. Image data hiding library
  63. Animating Boids in Java
  64. Electronic voting
  65. Mobile Phone Dodgem
  66. Strategy games in JCSP
  67. Handel-C fast cryptography
  68. Visual Art
  69. Automatic Image Analysis for Retinal Images
  70. Evolutionary Behaviour in JCSP
  71. Binary Watermarking
  72. Developing an application suitable for schools
  73. Outreach content management system
  74. Application on a phone
  75. Artificial Intelligence for Computer Games
  76. Text Mining for Topic Identification
  77. Image Analysis and Retrieval
  78. Distributed and E-Commerce Applications

Nick Antonopoulos

Implementation of a New Peer-to-Peer Network


Description
ROME, a new peer-to-peer network protocol has been in development within the Department. One of the goals is to yield faster searches than in current P2P systems. This project would involve the development of a working prototype of ROME.
References


  1. James Salter and Nick Antonopoulos, ROME: Optimising DHT-based Peer-to-Peer Networks, In: Fifth International Network Conference (INC 2005), Samos Island, Greece, 5-7 July 2005
Enhancing Searching Techniques in Peer-to-Peer Networks Using Software Agents


Description
Software agents can provide exciting opportunities for new applications where code becomes mobile and can move between machines. This project would look at utilising these mobility properties to allow for more accurate and efficient searches in peer-to-peer networks. Agents would be able to intelligently explore the network instead of relying on indexes of files held on each node.
Providing Authentication and Access Control in Peer-to-Peer Networks


Description
To date, most peer-to-peer networks have been used for simple file sharing applications. Before more complicated services can be provided, realistic security must be developed. This project will look into how authentication and access control services can be applied to P2P networks.
Interoperability Between Peer-to-Peer Networks


Description
Peer-to-Peer networks have been utilised to share vast numbers of resources across the Internet. Unfortunately there is currently no standard P2P network, so users must search using several different applications to find what they require. The aim of this project will be to provide a “bridge” between these disparate P2P networks.
Marking Spam Using Collaborative Filtering Techniques


Description
Spam has become the junk mail of the 21st century, making up the majority of e-mail received by a large number of Internet users. In this project you would develop a new system that uses collaborative filtering techniques to filter spam. Rather than relying on identifying certain phrases within messages, user actions would be compared in an effort to identify and automatically mark potential spam in their inboxes.
References


  1. Resnick, P., Iacovou, N., Sushak, M., Bergstrom, P., and Riedl, J. GroupLens: An open architecture for collaborative filtering of netnews, In: Proceedings of the 1994 Computer Supported Collaborative Work Conference.

Tony Browne

Machine learning for medical diagnosis


Description
This project topic is concerned with the development of a supervised leaning neural network using the MATLAB neural networks toolkit. The project will conduct an investigation into using neural networks for the diagnosis of medical conditions and an examination of their usefulness in this setting. It would be advantageous for students interested in this project to register for the CS365 Neural Networks module.
References


  1. Video presentation at:(http://www.neurosolutions.com/products/ns/nnandnsvideo.html)
Clustering bioinformatic data using machine learning techniques


Description
This project topic is concerned with the development of an unsupervised leaning neural network using the MATLAB neural networks toolkit. The project will conduct an investigation into using neural networks for data mining/clustering of genetic sequence data. It would be advantageous for students interested in this project to register for the CS365 Neural Networks module.
References


  1. Video presentation at:http://www.neurosolutions.com/products/ns/nnandnsvideo.html
Development of an expert system


Description
This project topic is concerned with the development of an expert system for a suitable domain. Past domains have included medical diagnosis, helpdesk assistants and home automation advisors. An expert system will be developed using a suitable shell, such as the JESS expert system toolkit.
References


  1. http://herzberg.ca.sandia.gov/jess/FAQ.shtml
Visualisation of music using machine learning techniques


Description
This project involves development of a software system that translates the inherent structure of a song/instrumental (students can choose their own music) into a colourful graphical display, using an unsupervised learning technique
References


  1. http://davis.wpi.edu/ matt/courses/soms/#Introduction

Matthew Casey

Neural Networks and Robotic Behaviour


Description
Whilst neural networks remain an abstract mathematical tool, because of their biological inspiration it is interesting to use neural networks within robots to see if they can learn to behave. The aim of this project is to implement simple neural network models within a suitable robot, say the LEGO Mindstorms kit, and determine the correct conditions under which the robot can learn about its environment. Such robots can also be used to teach computing concepts, including artificial intelligence.
References


  1. Barnes, D.J. (2002). Teaching Introductory Java through LEGO MINDSTORMS Models. Proceedings of the 33rd SIGCSE Technical Symposium on Computer Science Education, pp. 147-151.
  2. Brooks, R. (2001). The Relationship Between Matter and Life. Nature, vol. 409(6818), pp. 409-411.
  3. Brooks, R. (1986). A Robust Layered Control System for a Mobile Robot. IEEE Journal of Robotics and Automation, vol. 2(1), pp. 14-23.
Modelling the Superior Colliculus - Multisensory Integration in a Robot


Description
Advances in our understanding of different brain functions are reaching the stage that we can build simple models of sensory processing. The superior colliculus in mammalian brains is responsible for reacting to audio, visual or somatosensory stimuli so that our eyes turn and focus on an area of interest or potential threat within our environment. This project would use an existing LEGO Mindstorms framework to implement a model of the superior colliculus to determine if the robot could also react like a mammal.
References


  1. Stein, B.E., Jiang, W. & Stanford, T.R. (2004). Multisensory Integration in Single Neurons of the Midbrain. In Calvert, G. A., Spence, C. & Stein, B. E. (Ed), The Handbook of Multisensory Processes, pp. 243-264. Cambridge, MA.: A Bradford Book, MIT Press.
  2. Stein, B.E. & Meredith, M.A. (1993). The Merging of the Senses. Cambridge, MA.: A Bradford Book, MIT Press.
Playing Games with Neural Networks


Description
Can a neural network learn how to play strategic games, such as chess? Typically a brute force approach is taken to strategic game play, using heuristics to limit the search for moves. Can a neural network learn to play such games or generate good heuristics from past examples of games? The aim of this project is to investigate ways in which neural networks can be used to learn to play games, such as connect 4, draughts or chess.
References


  1. Levy, D. & Newborn, M. (1991). How Computers Play Chess. New York: Computer Science Press. Schaeffer, J. & van den Herik, H.J. (2002). Games, Computers, and Artificial Intelligence. Artificial Intelligence, vol. 134(1-2), pp.1-7.

Neural Network Ensembles, Classification and Game Theory


Description
Classification techniques have reached the stage that they can provide us almost arbitrary generalisation. One way in which this is achieved is through the use of ensemble techniques, which use a redundant combination of classifiers to improve performance. Empirically, it has been observed that the more diverse the individual classifiers are, the better the ensemble performance, but as yet there is little theoretical evidence to support this. Theoretical advances have been made for regression tasks, but this has not yet been transferred to classification. The aim of this project is to explore the application of game theory to different types of ensemble combination to provide further guidance on architecture selection and help theoretical understanding.
References


  1. Casey, M.C. & Ahmad, K. (2004). In-situ Learning in Multi-net Systems. In Yang, Z.R., Everson, R. & Yin, H. (Ed), Proceedings of the 5th International Conference on Intelligent Data Engineering and Automated Learning (IDEAL 2004), Lecture Notes in Computer Science 3177, pp. 752-757. Heidelberg: Springer-Verlag.
  2. Brown, G. (2004). Diversity in Neural Network Ensembles. Unpublished doctoral thesis. Birmingham, UK: University of Birmingham.
  3. Zanibbi, R., Blostein, D. & Cordy, J.R. (2005). Recognition Tasks Are Imitation Games. In Singh, S., Singh, M., Apte, C. & Perner, P. (Ed), Proceedings of the 3rd International Conference on Advances in Pattern Recognition (ICAPR 2005), Lecture Notes in Computer Science 3686, vol. 1, pp. 209-218. Heidelberg: Springer-Verlag.

Time Series Modelling


Description
Successfully modelling time series offers us the ability to predict future values of, say, share prices. However, the nature of these sort of volatile series makes modelling difficult. Current research has focused on hybrid statistical and neural network approaches, but recent findings show that improved performance can be gained by using a well-configured neural network. The aim of this project is to investigate ways in which time series can be modelled using neural networks in comparison with statistical techniques.
References


  1. Theodorakea, C. (2004). Evaluation of Forecasting Methods of Financial Time Series. Unpublished masters thesis. UK: University of Surrey.
  2. Taskaya-Temizel, T., Casey, M.C., & Ahmad, K. (2005). Pre-processing Inputs for Optimally-configured Time-delay Neural Networks. IEE Electronics Letters, vol. 41(4), pp. 198-200.
  3. Taskaya Temizel, T. & Casey, M.C. (2005). A Comparative Study of Autoregressive Neural Network Hybrids. Neural Networks, vol. 18(5-6), pp. 781-789.
  4. Taskaya Temizel, T. & Casey, M.C. (2005). Configuration of Neural Networks for the Analysis of Seasonal Time Series. In Singh, S., Singh, M., Apte, C. & Perner, P. (Ed), Proceedings of the 3rd International Conference on Advances in Pattern Recognition (ICAPR 2005), Lecture Notes in Computer Science 3686, vol. 1, pp. 297-304. Heidelberg: Springer-Verlag.

Jonathan Clark

Neural Networks for Botanical Identification


Description
Artificial neural networks (ANNs), a branch of artificial intelligence (AI) can be used to perform species identification of plant specimens. ANNs can learn to discriminate between species, by means of training, in the same way that humans can - and, like humans, they are able to deal with variable data, where patterns are difficult to determine.
References


  1. Clark, J.Y. (2003). ``Artificial neural networks for species identification by taxonomists''. BioSystems, vol. 72, pp. 131-147, Elsevier Press.
  2. Beale, R., Russell & Jackson, T. (1990). Neural computing : an introduction. Hilger, Bristol, UK. 
  3. Prechelt's Neural Network benchmarks http://page.mi.fu-berlin.de/\~{}prechelt/Biblio/1994-21.pdf

Computer-based Classification of Galaxies


Description
Galaxies (like our galaxy, the Milky Way) are very large collections of stars, and they come in various forms, shapes and sizes. The problem is, should they be grouped according to overall similarity (eg. put all those forming spirals together), or should they be grouped according to their life cycle (eg. a spiral galaxy might once have been elliptical when it was younger). There are various ways of classifying this kind of data, including cluster analysis and neural networks.
References


  1. Galaxy Classification http://www.astr.ua.edu/keel/galaxies/classify

Computer-based Astrobiology - The Search for Life in the Universe


Description
Computer-based Astrobiology - The Search for Life in the Universe How can we look for where we might find life in the Universe, without actually having to go there? If you had a spaceship, which direction would you travel, if you wanted to find life on other worlds? The clue might lie in the available data on nearby stars, compared with the data we have regarding our own Solar System (which we know contains life). Computers can use cluster analysis and neural networks, for instance, to investigate possible correlations and patterns, providing a guide as to where we might look (if we had such a spaceship).
References


  1. The Search for Life in the Universe http://nai.arc.nasa.gov/
  2. Gliese Catalog of Nearby Stars http://heasarc.gsfc.nasa.gov/W3Browse/star-catalog/cns3.html
  3. Nearby star datasets http://www.projectrho.com/smap06.html
  4. Woolley Catalog of Stars within 25 Parsecs http://heasarc.gsfc.nasa.gov/W3Browse/all/woolley.html

Botanical or Astronomical Databases


Description
For those who might like to produce a scientific database, useful and interesting data that could be used can come from astronomical star catalogues, or biological (eg. botanical) data (currently mostly in book or journal form). Such data can then be more easily mined for information.
References


  1. Gliese Catalog of Nearby Stars http://heasarc.gsfc.nasa.gov/W3Browse/star-catalog/cns3.html
  2. Galaxy Classification http://www.astr.ua.edu/keel/galaxies/classify.html
  3. Nearby star datasets http://www.projectrho.com/smap06.html
  4. Woolley Catalog of Stars within 25 Parsecs http://heasarc.gsfc.nasa.gov/W3Browse/all/woolley.html

Pocket PC Software Development for Field-based Scientific Surveys


Description
The idea here is to provide computer applications that can run on Mobile Platforms such as Pocket PCs, such as those that might be useful for scientists (eg. botanists, zoologists, geologists) who are working in the field.
References


  1. An information hub for Pocket PC development http://www.devbuzz.com/
  2. Pocket PC development network http://www.pocketpcdn.com/
  3. Electronic Field Guides and Citizen Science http://www.nescb.org/epublications/winter2004/stevenson.html#electronic_field_guides

Lee Gillam

Virtual Worlds / Second Life


Description
This project topic is concerned with the use of Virtual Worlds such as Second Life. The project will investigate using Linden Scripting Language for one or more of (i) building and maintaining a virtual presence; (ii) automatic production of virtual teaching resources; (iii) implementing intelligent virtual objects; (iv) providing a Second Life implementation of topics described below; or a topic of the student's choosing. Outcomes could be demonstrated on “Surrey Island”.
References


  1. http://www.secondlife.com
  2. http://www.computing.surrey.ac.uk/2L/
  3. Heaton, J. (2007) “Scripting Recipes for Second Life”. Heaton Research.
  4. Rymaszewski, M. [and others] (2008) “Second Life: The Official Guide”. John Wiley & Sons (2nd Edition)
  5. Weber, A., RuferBach, K. and Platel, R. (2007) “Creating Your World: The Official Guide to Advanced Content Creation for Second Life”. John Wiley & Sons, 2007
  6. http://www.eduserv.org.uk/upload/foundation/sl/uksnapshot052008/final.pdf

Coursework Feedback


Description
This project topic is concerned with improving the feedback received by students on a variety of assessed materials. The project will evaluate and extend a prior Undergraduate report to implement a flexible prototype system for improving the coverage, clarity, consistency and speed of useful feedback. The project may link in to research on sentiment analysis and readability, and outcomes may be presented to others across the University.
References


  1. One previous Undergraduate project report.
  2. Biggs, J. (1999). “Teaching for Quality Learning at University”. Buckingham: SRHE & Open University Press.
  3. Bright, K. (2006, December 18). “Effective Feedback”, http://www.ukcle.ac.uk/resources/assessment/effectivefeedback.html
  4. Haines, C. (2004). “Assessing Students' Written Work: Marking Essays and Reports”. Abingdon: Routledge Falmer.
  5. Higgins, R., Hartley, P., & Skelton, A. (2000). “What Do Students Really Learn From Tutors' Comments?”. University of Leicester.
  6. Newbold, N. and Gillam, L. (2008) "Towards Automatic Document Quality Control". Workshop on Natural Language Processing resources, algorithms and tools for authoring aids, LREC 2008.

Intensive Computing


Description
This project topic is concerned with various high-performance computation technologies. The project may involve using one or more of: i) a High Performance Computing (HPC) cluster and high-speed networking; (ii) the Cell Broadband Engine on a Playstation 3; (iii) the 2000+ processors and terascale data storage of the National Grid Service; (iv) data and compute Clouds. Projects are likely to concern interoperability and migration of data and computation for a selected application – some of the project topics that follow may be suitable for such considerations.
References


  1. e.g. http://www.cs.surrey.ac.uk/BIMA/Projects/GRID/
  2. e.g. http://en.wikipedia.org/wiki/Cell_microprocessor
  3. e.g. http://www.ngs.ac.uk
  4. e.g. http://www.businessweek.com/technology/content/nov2007/tc20071116_379585.htm
  5. Tsay, R.S. (2005) Analysis of financial time series. Hoboken, N.J: Wiley-Interscience

Text Grids


Description
This project topic is concerned with analysis of large collections of text. The project will investigate the distributed and parallel analysis of text documents, potentially simulating the arrival in real-time of new documents, and undertaking live updates of results which may include visual representations, for example of social networks. The project should consider a suitable architecture for analysis of large volumes of texts and assess issues of performance.
References


  1. Gillam, L . (2004) "Systems of concepts and their extraction from text". Unpublished PhD thesis, University of Surrey.
  2. Gillam, L., Tariq, M. and Ahmad, K. (2005) Terminology and the Construction of Ontology. Terminology 11(1), pp55-81. John Benjamins Publishing Company. ISSN 0929-9971; E-ISSN 1569-9994.
  3. Gillam, L. and Cooke, N. (2008) "Intellectual property escaped with the email? Press F1 for help". Journal of Information Assurance and Security.
  4. Cooke, N., Gillam, L. and Kondoz, A. (2007) "The Best Kept Secrets with Corpus Linguistics" 4th Corpus Linguistics Conference 2007, Birmingham 27-30 July.

Visual Search


Description
This project topic is concerned with the accurate retrieval of video, video segments, and still images from large collections: new-generation retrieval systems. The project can investigate the adaptation of existing search engine technologies, and the automatic extraction, and semantic association of metadata from images, video and texts. The project would build on, and inform, activities in CS257, building on international standard data collections.
References


  1. del Bimbo, A. (2001) “Visual Information Retrieval”. Morgan Kaufmann.
  2. Li, Z-N and Drew, M.S. (2004). “Fundamentals of Multimedia”. Pearson Prentice Hall.

World Languages


Description
This project topic is concerned with “Multilingualism in Cyberspace”. The project will conduct an investigation into a country code top level domain (ccTLD) or generic top level domain (gTLD) to quantify language coverage and tagging accuracy in these domains according to both assigned metadata and linguistic content. The project should consider a suitable architecture for measuring information in large volumes of web texts, possibly involving the use of Grids.
References


  1. http://portal.unesco.org/ci/en/ev.php-URL_ID=16539&URL_DO=DOTOPIC&URL_SECTION=201.html
  2. Gordon, Raymond G., Jr. (ed.), 2005. Ethnologue: Languages of the World, Fifteenth edition. Dallas, Tex.: SIL International.
  3. Chambers, J.K. and Trudgill, P. (1998) Dialectology. Cambridge: Cambridge University Press
  4. Gillam, L. and Garside, D. "TC37, Terminology and Language". ISO Focus 4(5), 43-44.
  5. Gillam, L., Garside, D. and Cox, C. "Developments in Language Codes standards". In Rehm, Witt and Lemnitzer (eds.): Datenstrukturen fur linguistische Ressourcen und ihre Anwendungen / Data Structures for Linguistic Resources and Applications. Proc.of GLDV 2007, 11-13 April 2007, Tubingen, Germany: Gunter Narr Verlag.
  6. One previous Undergraduate project report and one MSc dissertation (in progress)

Top Ranking


Description
This project topic is concerned with effective search engine marketing. The project will investigate using knowledge of search engine algorithms to ensure the highest possible ranking for a webpage. The project may investigate the development of a system to automatically extract and embed keywords and other metadata from textual content to generate the best ranked page, or to investigate the potential for constructing security exploits.
References


  1. http://www.webworkshop.net/pagerank.html
  2. Gillam, L . (2004) “Systems of concepts and their extraction from text”. Unpublished PhD thesis, University of Surrey.
  3. Gillam, L., Tariq, M. and Ahmad, K. (2005) Terminology and the Construction of Ontology. Application-driven Terminology Engineering. Ibekwe-SanJuan, Fidelia, Anne Condamines and M. Teresa Cabre Castellvi (eds.), 49-73.
  4. http://www.computing.surrey.ac.uk/SystemQ/
  5. Two previous Undergraduate project reports and on MSc dissertation (in progress)

Automatic Trading


Description
This project topic is concerned with the development of an automatic financial instrument (e.g. share, currency) trading system based on recognition of pattern formation in graphs. The project will investigate the effectiveness of trading signals (buy/sell) based on the automatic identification of trends, cycles and turning points.
References


  1. http://www.candlestickforum.com/; http://www.chartpatterns.com/
  2. Gillam, L. (Ed.) (2002). Terminology and Knowledge Engineering: making money in the financial services industry. Proceedings of a workshop at the TKE 2002 conference.
  3. Gillam, L. and Ahmad, L. (2006) “Financial data tombs and nurseries: A grid-based text and ontological analysis”. Proc. of 1st Intl. Workshop on Grid Technology for Financial Modeling and Simulation (Grid in Finance 2006), Proceedings of Science.
  4. Gillam, L., Ahmad, K. and Dear, G. (2005). Grid-enabling Social Scientists: some infrastructure issues. Proc. of 1st International e-Social Science Conference
  5. Tsay, R.S. (2005) Analysis of financial time series. Hoboken, N.J: Wiley-Interscience
  6. Theodorakea, C (2004). Evaluation of forecasting methods of Financial Time Series. Unpublished MSc dissertation, University of Surrey.

Sentiment Analysis


Description
This topic is focused on automatic analysis of semantic orientation – an emerging topic referred to by some as sentiment analysis or opinion mining and used for customer relationship management, discovering political opinions, reviewing and suggesting products or movies, and decision support in financial analysis. Techniques applicable to this analysis, some of which have been developed and Grid-enabled at Surrey, will be investigated in one or more application areas.
References


  1. http://patty.isti.cnr.it/ esuli/research/sentiment/Sentiment.html (articles may be available elsewhere)
  2. http://www.cs.cornell.edu/people/pabo/movie-review-data/
  3. Ahmad, K., Gillam, L. and Cheng, D. (2005) “Textual and Quantitative Analysis: Towards a new, e-mediated Social Science”. Proc. of 1st Intl. e-Social Science Conference, Manchester, June 2005.

Duplication Detection


Description
This topic focuses on automatic analysis of multiple news data feeds. RSS provides a means to aggregate content, but how much news content arriving from multiple sources is presenting elements of the same story? How many are almost duplicates? Are the same stories being spun differently by different content providers? Can we discover the most important news topic of the hour? Providing the integration between Surrey’s Grid-based text analysis systems and RSS may help to answer these questions; combining multiple RSS feeds and the Reuters data feed will expand the potential for improved financial analysis. Results from the analysis could also be published as an RSS feed and integrated into other systems.
References


  1. What is RSS? http://www.xml.com/pub/a/2002/12/18/dive-into-xml.html
  2. Publications from the FINGRID project: http://www.computing.surrey.ac.uk/grid/fingrid/papers.html

André Grüning

Railway Traffic Flow Control


Description
How can we manage train traffic efficiently in order to maximise capacity?

Have you been stuck in a train waiting to enter a station for minutes because all platforms are occupied? Then this project is for you. In the project you will be designing and implementing a system that dispatches trains on a line so that the line capacity (trains per hours) is maximised. What changes if your system is to dispatch trains on a line with a junction to another line? What if two lines join? How much is line capacity improved when the track is doubled or quadrupled? The project offers many nice problems for the student to attack, e.g. taking signal and point interlocking into account. Can you think of object-oriented programming concepts that model interlocking? What about including threads to model the movements of independent trains?

Cognitive Modelling


Description
What does our brain do when we process contradicting sensory input? Can we model that as a computational system?

Cognitive psychologists often design (computer) experiments to trick our brain. This helps them to find out what processes there are in our brains when we for example see or hear something. Since we cannot simply open somebody's brain, these experiments must be carefully designed and are often such that they drive a human's cognitive processes to their limit and try to infer the kind of process going on from the errors that humans make in such an experiment. Computational neuroscientists then take these results from a cognitive experiment and try to build a computation model that explains the observed experimental behaviour. I have two cognitive effects to suggest the student to model: the Stroop effect (about confusing colour names when reading a coloured list of colour words) and the McGurk effect (proving that you hear with your eyes and see with your ears :-), see references below) but you are also free to suggest a different experiment that you would like to model

References


  1. Google "Stroop Effect"
  2. Google "McGurk Effect"
  3. McGurk, Harry; and MacDonald, John (both: Univ of Surrey!): "Hearing lips and seeing voices," Nature 1976, Vol 264(5588), pp. 746–748.
Find the most important RSS news


Description
There are many RSS feeds in the web that allow you to read pieces of news. However with an abundance of RSS feeds and consequently an abundance of news, how can I find the most important ones?

In this project you will design and implement methods to extract news from RSS feeds and compare them with each other using different approach from text analysis. I think that a lot of the text handling and analysis would be easy to do in PERL.

Learning algorithms for neural networks that are efficient and biologically realistic at the same time


Description
How can we find training algorithms for artificial neural networks that are both efficient and biologically realistic?

Artificial neural networks are both biologically inspired models of the nervous system and trainable computational devices. They can be trained with gradient-descent learning algorithms such as back-propagation. However back-propagation is not biologically realistic because it requires an extensive circuitry to calculate error gradients. So-called weight perturbation methods have been suggested that can do without extensive circuitry but estimate only an approximation to the true error gradient by making use of "noise" in a clever way. "Noise" or random perturbations are also used in genetic training algorithms that do not follow a gradient, but use trial-and-error in an evolutionary way. One aim of this project is to compare the performance of weight perturbation and genetic algorithms and develop some ideas for their improvement.

References


  1. André Grüning. Elman backpropagation as reinforcement for simple recurrent networks. Neural Computation, 19(11), 2007.
  2. Benjamin A. Rowland, Anthony S. Maida, and Istvan S. N. Berkeley. Synaptic noise as a means of implementing weight-perturbation learning. Connection Science, 18(1):69-79, 2006.
  3. Genetic algorithms in Wikipedia and references therein.
A unified database of neural networks and their training


Description
Can we systematically store all the different artificial network types, their training algorithms, training data, source code and result files in a unified database?

Nowadays many different network types with many different learning algorithms trained on many different data sets are around. When a researcher wants to reproduce, improve or analyse somebody else's results s/he usually has to reimplement the first researcher's networks, data sources etc from scratch since so far it is far from common that researchers make the tools they were using publicly available. In this project the student will therefore develop ideas to implement a database that can accommodate different types of networks, data sources used in training, the corresponding result files etc. in order to make them publicly accessible to the research community. The database shall be based on open source software in order to encourage as many researches a possible to contribute their networks and be accessible from the WWW. While the project certainly contains a database aspect, much of the work will be devoted on inventing suitable storage formats for the networks, the algorithms and their training data, perhaps in XML.

References


  1. For an overview of different network types: Artificial Neural Networks on Wikipedia
Computational properties of simple recurrent networks


Description
To understand what types of computations artificial neural networks are capable of when they are trained. What is the computational power of an artificial neural network? Can it process complicated formal languages? And is there a relation to the grammar of natural languages?

It is well established that simple recurrent networks can learn so called regular languages. These are formal languages without recursive structure and they require finite memory only. In this project we want to explore whether and how artificial neural networks can also process more complicated recursive structures that are both interesting from a computational and a linguistic viewpoint.

References


  1. Jeffrey L. Elman, Elizabeth A. Bates, Mark H. Johnson, Annette Karmiloff-Smith, Domenico Parisi, and Kim Plunkett. Rethinking Innateness: A Connectionist Perspective on Development. MIT Press, Cambridge, Mass., 1996.
  2. Mikael Bodén and Alan Blair. Learning the dynamics of embedded clauses. Applied Intelligence, 19(1/2):51-63, 2003.
  3. Paul Rodriguez. Simple recurrent networks learn context-free and context-sensitive languages by counting. Neural Computation, 13:2093-2118, 2001.
  4. André Grüning. Stack- and queue-like dynamics in recurrent neural networks. Connection Science, 18(1):23-42, 2006.
Computational modelling of natural language


Description
Natural languages are a phenomenon that is hard to grasp in computational terms since so many different ingredients enter it: phonology, morphology, syntax, semantics, world knowledge, information theory...

In the project, the student will pick an interesting problem from the vast area of natural language and build a computational model for it. Two examples of more concrete project ideas could be modelling the pattern of distributions of full nouns or proper names (the dog, the cat, Alice, Bob, the tree ...) and referential expressions (I, she, him, its ...) in a text. Think about the slightly different meanings of the following sentences: 1. After she had left the party, Alice went home. 2. After Alice had left the party, she went home. 3. After she had left the party, she went home. 4. After Alice had left the party, Alice went home. modelling the distribution of mass and count nouns across different languages. A count noun is one that can easily be counted: one tree, two trees, three trees, many trees. A mass noun is one that cannot be easily counted without changing the basic meaning of the word: salt, much salt, but "two salts"? Different languages seems to treat different nouns differently in this respect.

References


  1. André Grüning and Andrej A. Kibrik. Modeling referential choice in discourse: A cognitive calculative approach and a neural network approach. In António Branco, Tony McEnery, and Ruslan Mitkov, editors, Anaphora Processing: Linguistic, Cognitive and Computational Modelling. John Benjamins, Amsterdam, 2004.
An event-driven simulator for spiking neurons with pulse coupling and spike-time-dependent learning


Description

This project is one that will involve a lot of programming in an object-oriented language such as JAVA or C++. Some limited knowledge about the structure of natural or artificial neurons and synapses will be helpful, but could be acquired quickly if necessary. The interesting thing with the intended simulator is that it is event-driven, i.e. objects in the programme send messages to each other (e.g. one neuron to another neuron). Upon arrival of one such message ("event", e.g. a spike) the receiving object updates its state and may itself send a message (e.g. another spike) to other objects. This is different from the usual time-step approach in neural network simulation (which calls for a procedural approach to coding than an object-oriented one) because it will require the programmer to intelligently design objects and their interfaces. With the final simulator the student will be able to simulate synchronous and time-locked spiking patterns in a brain model. The neuron model and the type of networks are described in the references below.

References


  1. Google "Izhikevich"

James Heather

A modular Java strategy game development kit


Description
I am looking ultimately to create a web-based system to allow people to submit Java programs to play two-player turn-based strategy games (Connect 4, draughts, noughts and crosses, etc.).

You will need to construct: (a) a set of classes representing an abstract two-player game; (b) a set of classes for each particular game; (c) some documentation so that end users can download your classes and build a module that plays the next move of a game in progress. You will then be able to build the system that takes two such modules and plays them off against each other.

This is a research-orientated project.

A flexible database system for management of Java strategy games


Description
I am looking ultimately to create a web-based system to allow people to submit Java programs to play two-player turn-based strategy games (Connect 4, draughts, noughts and crosses, etc.).

This project is concerned with building an extensible database system to allow for storage of player modules, logs of games played between the modules, and a leaderboard showing the most successful modules. You will also need to create a web site to allow access to this database, with facilities for creating new types of game, adding new modules, playing a game between two modules, and so on.

This is a research-orientated project.

An automated system for timetabling exams


Description
Currently, the exam timetabling system is a rather awkward manual process involving cross-checking of different groups to resolve clashes. This project will develop a program that takes a set of exam specifications and class lists and produces an exam timetable.

Extensions for Moodle


Description
Moodle (see www.moodle.org) is an open source system for creating and maintaining teaching courses. Its `quiz' system has been used successfully for various MSc modules in the department.

This project aims to extend Moodle in various ways. For one, it will add new question types to make the `quiz' system more flexible. It will also look at ways to integrate it with the module registration system at Surrey. Other ideas for extensions are welcome.

3D Su Doku


Description
Su Doku is a puzzle game that has grown enormously in popularity over the last few months, with at least three UK daily newspapers publishing a puzzle each day. The puzzle involves filling in digits into a partially completed 9x9 grid, with the digits obeying various elementary rules.

The standard two-dimensional puzzle could very easily be extended to three dimensions, either as 9x9x9 or as 8x8x8. This project involves creating a program to generate three-dimensional Su Doku puzzles and allow for solving on-screen. There are two separate elements to the project: (1) creation of the puzzle generation and solving engine; (2) a visual front end to allow a player to navigate sensibly through the puzzle and try to solve it.

Tony Ho

Authentication and Restoration of Watermarked Images


Description
This project focuses on the development and analysis of self-restoration techniques for authenticated images through digital watermarking. Self-restoration or recovery techniques include incorporating irregular sampling in approximation transform spaces. Tampered regions of images can be first authenticated and then accurately restored. Potential applications include crime scene analysis, traffic enforcement, medical imaging and satellite remote sensing. For this project, the pre-requisites for students are some basic knowledge of MATLAB and/or C/C++ programming and an interest in image processing.
References


  1. Ho, A.T.S., Zhu, X., Guan, Y.L., "Image Content Authentication Using Pinned Sine Transform," EURASIP Journal on Applied Signal processing (JASP), Special Issue on Multimedia Security and Rights Management, No. 14, Vol 2004, pp2174-2184, October 2004
  2. Zhu, X., Ho, A.T.S., Marziliano, P., "Semi-fragile Watermarking Authentication and Restoration of Images Using Irregular Sampling,", Revised and Submitted to EURASIP Signal Processing: Image Communication, April 2005
Digital Watermarking of Audio Content


Description
This project involves the software development and analysis of digital watermarking techniques for audio data formats such as Speech and Wav files. Digital watermarking is used in the copyrights protection and authentication of multimedia data. The techniques have to be robust against malicious attacks or tampering to remove the watermark. The watermark can be in the form of creator, trademark and product information. Robust audio watermarking requires a good understanding of the human psycho-audio model of one-dimensional data. Research into different techniques will be investigated and implemented using a high-level language. For this project, the pre-requisites for students are some basic knowledge of MATLAB and/or C/C++ programming and an interest in MP3 format and information security.
References


  1. Garcia, R. (1999). "Digital Watermarking of Audio Signals using a Psycho-acoustic Auditory Model and Spread Spectrum Theory", 107th Convention, Audio Engineering Society, New York, NY , September 24-27, 1999 . Preprint 5073
Digital Watermarking for Binary Images, Graphics and Text Documents


Description
This project involves the software development and analysis of image watermarking techniques for binary images and text documents. There is a growing need for authentication of binary content such as legal documents, diagrams and graphical data to verify that the content has not been maliciously tampered with. The students for this project should have some MATLAB and/or C/C++ programming experience and a keen interest in signal and image processing.
References


  1. Ho, A.T.S., Niladri B, Puhan., Marziliano, P., Makur, A., Guan, Y.L., "Imperceptible Data Embedding in Sharply-Contrasted Binary Images," Eight International Conference on Control, Automation, Robotics and Vision (ICARCV) 2004, Kunming, China, December 6-9, 2004
Steganography Detection and Analysis of Hidden Data in Images


Description
This project focuses on the steganographic detection, analysis and classification of hidden content in digital images. These images can be artificial or natural scenes. There are currently more than few dozens of steganography software available openly for data hiding. Steganalysis is becoming a very important area of research and needed to determine whether sensitive messages have been embedded secretly, for example by terrorists for communication. Different statistical approaches will be investigated and compared for their detection and classification of steganography software. For this undergraduate project, the pre-requisites for students are some basic knowledge of MATLAB and/or C/C++ programming and an interest in signal and image processing and information security.
References


  1. Chandramouli, R., Memon, N.D. "Steganography capacity: A steganalysis perspective," Prof. SPIE Security and Watermarking of Multimedia Contents, 2003.
  2. Lyu, S., Farid H., "Detecting Hidden Messages Using Higher-Order Statistics and Support Vector Machines," 5th International Workshop on Information Hiding, Noordwijkerhout, The Netherlands, 200
Video Surveillance Analysis and Authentication


Description
This project focuses on the software development of image analysis and watermarking authentication techniques for video surveillance applications. Current interest in video surveillance applications arising from recent terrorists events has led to an increasing need of feature extraction and data mining techniques for accurate detection and classification of crime scene content. Once extracted, the video content can be used as court evidence. It is important that the evidence in terms of video frames or images is protected or fingerprinted via digital watermarking in order to prevent any illegal tampering or leaks of this information. For this project, the pre-requisites for students are some basic knowledge of MATLAB and/or C/C++ programming and an interest in image and video processing.
References


  1. Atrey, P.K., Yan, W.Q., Kankanhalli, M.S., "A Scalable Signature Scheme for Video Authentication," Multimedia Tools and Applications, 2005. (to appear)
  2. Ho, A.T.S., Zhu, X., Guan, Y.L., "Image Content Authentication Using Pinned Sine Transform," EURASIP Journal on Applied Signal processing (JASP), Special Issue on Multimedia Security and Rights Management, No. 14, Vol 2004, pp2174-2184, October 2004.

Paul Krause

Smart keys for smart motorists


Description
Several car manufacturers now record data on an electronic car key. This provides an opportunity for providing additional internet based services for car owners. This project will continue work started in this direction in 2006/7
Integrating risk assessment into project management


Description
This project will investigate how quantitative risk assessment can be integrated into the project management tool Microsoft Project.
Use of Bayesian Networks for automated plant identification


Description
This builds on work we have been doing with the Royal Botanic Gardens, Kew to build an interactive application for helping enthusiasts to identify wild plants.
Automated practical reasoning about actions using models of argumentation


Description
When using everyday reasoning, one tends to use rules about what is "normally" the case, rather than strict logical rules. As a result the conclusions are often provisional and may be retracted in the light of further evidence. This project will involve the implementation of algorithms developed in the theoretical work of the EU funded "ASPIC" research project.
Java toolset for ecological models


Description
This builds on foundational work being carried out at the Royal botanic Gardens, Kew, on prediction risk of species extinction from field data.
 

Roger Peel

Development of an Ethernet design for implementation using hardware/software codesign techniques


Description
The author is developing an Occam-to-FPGA compiler, that allows parallel software written in a variant of the Occam programming language to be run on programmable gate array devices. We now need to develop some significant applications to demonstrate our compiler. It will be necessary to write code for
  • An Ethernet transmitter
  • An Ethernet receiver
To these could be added a simple application [choose something to hang onto Ethernet - an analogue to digital converter, for instance.] As an alternative to Ethernet, the logic for a USB bus could be developed instead.
Research into, and Implementation of, a Software Radio


Description
It is possible to build a radio receiver using a minimal RF front-end and further processing stages that are implemented in software. Following on from a previous project, this project will research the basic theory, and consider a design that can be implemented using conventional software or my Occam-to-FPGA mechanism for running parallel software on programmable gate array devices. The initial application could well be related to the MSF time transmitter at Rugby, long wave radio reception (i.e. Radio 4) or to an RFID reader. This project would particularly suit a CSE student, but will be quite difficult.
Investigation of Asynchronous Logic as a target for hardware compilation


Description
Our Occam-to-FPGA compiler currently generates clocked synchronous logic. An alternative would be to create asynchronous logic. This project will investigate the flavours of asynchronous logic that would be most suitable for execution on programmable gate arrays, hand-code some circuits to demonstrate a viable choice, implement a new compiler back-end to automate the coding process, and evaluate the new design against the existing synchronous logic strategy.
Re-implement the EA Tank Wars game using JCSP or KRoC (Occam-Pi)


Description
EA Games has produced a C++ Tank Wars simulation environment. It runs in single-threaded mode, polling the AI modules for each tank in turn. This project will re-engineer this environment, to allow each of the simulated tanks to run in parallel. Initially, these would all run on a single processor, but later a multiprocessor version could be built, too, from the same general software design.
An improved device for rendering mapping data


Description
OpenStreetMap is a worldwide open-source mapping project. Data that describes an area to be drawn as a map is returned from the database as XML. This project will develop an improved map rendering tool, building upon an existing scheme that converts the XML data using XSL into Scalable Vector Graphics (SVG - a W3C XML notation) that can be displayed in a Web browser, plotted on paper or uploaded to a GPS map display. The main improvements of this design will be better use of CSS, better handling of clashing map features, better layout of text, and easier addition of new map features (i.e. maintainability of the rendering tool).
An improved device for capturing mapping data


Description
OpenStreetMap is a worldwide open-source mapping project. Geographic features are recorded by the general public, and their locations are determined using GPS. It is easy to collect a track of one's journey, but less convenient to collect the metadata - street names, road numbers, locations of post boxes, etc., that makes a map useful. This project will design and implement improved mobile data capture software, capable of running on a PDA [preferably my PalmOS-based units]. It will concentrate on the usability of the user interface, and on streamlining the whole workflow of uploading the collected information to the OpenStreetMap servers.
Capturing e-Voting form information


Description
This project will attempt to improve upon the techniques that I have used to extract users' voting intentions from optically-scanned voting forms. The major tasks that have to be performed are the detection of the various form features (the barcodes and user data entry boxes) and the correct interpretation of the single transferrable vote ranking digits. The main difficulties that will be encountered are: form rotation; form inversion; voter marks interfering with the form's registration features; ranking digits written in an unexpected typeface. You may re-design the form to avoid these issues if you wish. I didn't use neural networks for the digit recognition or FFT techniques to identify the barcode; you might care to explore these. We have lots of test data; the success of the project will be measured by the accuracy of extracting data from real forms.

Hans Georg Schaathun

Exam Paper Processing with Public Key Cryptography


Description
Use cryptographic signatures to make a paper-based system to process exam papers, collecting signatures from checkers, department heads, and external examiners.

At present, exam papers tour the faculty on paper, picking up signatures from a large number of people. It is impossible to see which version has actually been checked. It would be interesting to see if a paper-less replacement is possible.

Tasks in the project would include

  1. Devise an organisational security policy for exam paper preparation
  2. Identify cryptographic techniques which can be used to enforce the security policy
  3. Devise a data structure which can hold digital signatures and information about document version
  4. Design a system for paper-less exam preparation
  5. Implement the design (if time permits)

References


  1. Relevant material for James Heather's module on cryptography and security.
  2. Pfleeger and Pfleeger: Security in Computing Cf. reading list for CSM27.

Web Tutorial (Cryptography)


Description
The student will study a common cryptosystem and make a web site describing it for the general public (incl. potential students or people with a lay scientificinterest). The site should include a detailed demo, showing every step of the algorithm in visual way. This will involve implementation of the cryptosystem, probably using server-side executables, and web publishing. The site should be as platform-independent as possible. The student can choose any suitable tools available at the department. The cryptosystem to be presented is RSA.

References


  1. http://www.php.net/docs.php (PHP is one possible tool for serverside scripting)
  2. Literature for the third year module on web technologies.
  3. Bruce Schneier: Practical Cryptography
  4. William Stallings: Cryptography and Network Security
  5. Bruce Schneier: Applied Cryptography
  6. Any one of the above Cryptography books should do; Please contact me for further advice.

Image data hiding library


Background
Data hiding denotes a wide range of techniques used to hide a piece of information in a secret file. Applications range from copyright protection to secret communications.

Description
The goal of this project is to make a library (Java class or Matlab toolbox) implementing 1-2 of the most common techniques for hiding data in images, providing an easy-to-use API for future software applications. All aspects of software development will be involved, including agreement of specification, implementation, documentation, and testing.

Recommended programming language: either Java or Matlab.

References


  1. Ingemar Cox et al.: Digital Watermarking and Steganography, 2nd edition. Academic Press 2007.

Steve Schneider

Animating Boids in Java


Description
Boids are artificial creatures that move according to a few simple rules, dependent on the presence of other boids in their vicinity, the direction of their movement, and the need to avoid collisions. These simple local rules give rise to complex `flocking' behaviour arising from the interaction of large collections of boids. This project is concerned with computer modelling of boids and exploration of their interactive behaviour. The project will develop a system in Java and OpenGL to animate the motion and interaction of boids and explore their emergent behaviour.
References


  1. Flocks, Herds, and Schools: A distributed behavioural model, Craig Reynolds, ACM SIGGRAPH 1987 (available from http://www.red3d.com/cwr/boids/ )

Electronic voting


Description
Current advances in technology are generating interest in the possibility of electronic voting systems, and a number of schemes have been proposed. These schemes aim to combine the desiderata of maintaining secrecy of the vote, ensuring that all votes are counted, that ballots cannot be stuffed, and that the processing of the votes within the system can be audited while preserving anonymity of the voters. The recently proposed `Pret a Voter II' scheme makes use of cryptography to keep voter information secret, and uses a number of `tellers' to process, decrypt, and count up the votes. Tellers can be audited to ensure that they have correctly processed the votes and that cheating (i.e. ballot rigging) has not occurred. The system consists of a number of components, and the project aims to provide a prototype implementation of some elements of the `Pret a Voter II' system.
References


  1. A Practical, Voter-verifiable Election Scheme, Chaum, D., Ryan, P,Y,A., Schneider, S, A. Technical Report CS-TR-880, School of Computing Science, University of Newcastle

Mobile Phone Dodgem


Description
This project is concerned with the programming of a simple game onto a mobile phone. The dodgem game is a two player strategy game where players race to get their pieces to the other side of the board while blocking their opponent. As well as programming the game and a machine player to provide an opponent for the human player, the challenge is to program the 4 * 4 game in a mobile phone. This is a challenge in itself because the set of API's is often non-standard, phone emulators are not always accurate with regards to the phone, debugging can be difficult, and the phone may impose resource constraints. Programming in java is expected, though other languages could be used if preferred.

This project can be run instead with the development of an alternative game or application for a mobile phone. The project requires the student to provide their own programmable mobile phone.

References


  1. The game of Dodgem: http://www.gpj.connectfree.co.uk/games4.htm

Strategy games in JCSP


Description
This project will explore how perfect knowledge zero-sum strategy games can be implemented using JCSP and java. Simple games typically have a small search space which can be completely explored, whereas for more complex games such as draughts this cannot be achieved in a reasonable time, and AI techniques for strategy games come into play. Using parallel algorithms to search different parts of the search tree concurrently would enable a higher proportion of the game tree to be explored, leading to better play. This project aims to use JCSP to implement a parallel game playing strategy. The project will investigate and compare variants on the strategy, and different skill levels (based on depth of searches) will be investigated. The project will be based around a moderately complex game such as dodgem or connect-4.
References


  1. Artificial Intelligence, Rob Callan, Palgrave 2003
  2. CS266 Modelling and Simulation course notes

Handel-C fast cryptography


Description
Encryption is now commonplace in computer systems and networks, but the encryption and decryption of data, particularly public-key encryption, is time consuming and can affect system performance when programmed using conventional methods. This project is concerned with applying new technology developed by Celoxica for significant improvement of encryption algorithms, by compiling the algorithms directly to hardware. This project will use the Handel-C language (a dialect of C targeted directly to hardware) and Celoxica's Development Kit, and the Celoxica RC300 high performance board will be available.
References


  1. Handbook of applied cryptography, Menezes, van Oorschott, Vanstone, CRC Press, 1996
  2. http://www.agilityds.com/support/download_bsp.aspx

Lilian Tang

Visual Art


Description
Vision is not a mechanical recording of elements but the grasping of significant structural patterns. If this is true for the simple act of perceiving an object, it is all the more likely to hold also for the artistic approach to reality. The exalted kind of seeing that leads to the creation of great art appears as an outgrowth of more common activity of the eyes in everyday life, because it involves giving and finding colour, shape and meaning. This work will involve research into the relationships and elements between art and visual perception, such as balance, shape, form, space, light, colour etc in art paintings and drawings (including children drawings) and developing computational methods that are able to identify such elements and relationships.

A minimum of two projects will be offered under this topic. Through this project, you will gain in-depth knowledge in computer vision, image processing and machine learning. Either Java or Matlab can be used as the development tool (depending on personal preference).

References


  1. Rudolf Arnheim, Art and Visual Perception; ISBN 0571 081541

  2. Rafael Gonzalez, Richard Woods, Digital Image Processing (International Edition), 2nd Edition, ISBN 0-13-094650-8, Prentice Hall, 2002

  3. Nick Efford, Digital Image Processing, A Practical Introduction using Java, Addison Wesley, ISBN 0201596237, May 2000

Automatic Image Analysis for Retinal Images


Description
Diabetes is one of the most prevalent diseases in the world. The analysis of retinal images is crucial for understanding the progression of diabetic retinopathy (DR) and will benefit an automatic DR screen programme in the future. The project involves two major processes: clinical sign feature extraction and classification. Research on how to represent, organise and extract key clinically meaningful visual features, and how to classify clinical cases based on those features are required. Experiments on various classification strategies and their combination could be performed. A final working system prototype should be developed.

A minimum of two projects will be offered under this topic. Through this project, you will gain in-depth knowledge in computer vision, image processing and machine learning. Either Java or Matlab can be used as the development tool (depending on personal preference).

References


  1. G Shapiro, George C. Stockman, Computer Vision, Prentice Hall, ISBN 0-13-030796-3

  2. Rafael Gonzalez, Richard Woods, Digital Image Processing (International Edition), 2nd Edition, ISBN 0-13-094650-8, Prentice Hall, 2002

  3. Nick Efford, Digital Image Processing, A Practical Introduction using Java, Addison Wesley, ISBN 0201596237, May 2000

Helen Treharne

Evolutionary Behaviour in JCSP


Description
JCSP is a java library that can be used to develop concurrent programs based on process communication. The project is concerned with modelling population growth and aims to provide simulations of large groups of different species and exploring their interactive behaviour. The project start by investigating a simulation of shark/fish behaviour in the sea in the first semester. It will then choose a further case study in the second semester which has more variables factors (see references for an example). Other suggestions for programs in JCSP welcome, especially if they are related to modelling and simulation.
References


  1. http://www.cs.kent.ac.uk/projects/ofa/jcsp/
  2. http://www.sustainable-environment.org.uk/Earth/Commons.php
Binary Watermarking


Description
Hiding data in documents is becoming important and plays an important role in copyright. Hiding data in images has been a hot topic for a while and now lots of research attention is focused on hiding data in binary text. This problem is very difficult because there is limited opportunity in order to hide the data. This project will explore how a scheme referred to as Inter-word Space Modulation can be used in order to identify spaces between neighboring words and then with small changes to pixel values a watermark can be embedded. The challenge is whether the watermark remains robust following the printing and scanning of the document. This project aims to implement an algorithm in Matlab (or some other suitable programming language) so that we can conduct experiments on the robustness of the technique. The project requires a student that is willing to code difference algorithms and compare them in detail.
References


  1. D. Zou and Y. Q. Shi, "Formatted Text Document Data Hiding Robust to Printing, Copying and Scanning," IEEE International Symposium on Circuits and Systems (ISCAS05), Kobe, Japan, May 2005.
  2. Digital Watermarking: Principles & Practice (The Morgan Kaufmann Series in Multimedia and Information Systems) by Ingemar Cox (available in the library).
Developing an application suitable for schools


Description
ICT is taught in schools and often the perception of Computing is that it is seen as a geeky subject. Pupils need to be able to see the potential in their chosen subject. The aim of this project is to build an application resource for teachers, for example a web enabled database or a lego mindstorm application, which is designed in such a way that it can be disassembled during a workshop, the pupils could replace the interface or substitute the database with another backend. The project appears vague, and to some extent it is because part of the initial analysis phase will be to conduct a survey of a local network of school teachers in order to identify an appropriate application to build. It must link into the GCSE or A level curriculum. It will involve a combination of programming skills and will only be appropriate for a person with strong technical skills who has an interest in collaborating with schools and will be able to interact with our contacts.
References


  1. http://www.aqa.org.uk/qual/gceasa/inf.html
  2. http://www.aqa.org.uk/qual/pdf/AQA-3522-W-SP-08.PDF
Outreach content management system


Description
The schools liaison team in the department runs a series of workshops every year. This includes developing an application, hosting a workshop, getting feedback, putting details up on the website. This project aims to build a webbase infrastructure in order to be able to access our materials for download by teachers registered in our network of contacts, to be able to generate pdf posters to send out to schools based on the material and to be able to generate a newsletter. This would require an application which could take information from the workshop and the feedback received and produce a poster based on a set of inbuilt design templates. The project is wide in scope and needs to be more focused. The initial part of the project would involve defining the requirements of the system and interact with the schools liaison team to decide this. The student would have to drive the technologies used and they would have to be able to be hosted on the department's computer system. I am not so concerned about the security side of it at the moment.
References


  1. http://www.cs4fn.org. We'd like it if the project could have this exciting look and feel for some part of it
  2. http://csi.gla.ac.uk. We'd like it if the project could have this more organised structure to support the workshop material.
  3. http://www.cs.surrey.ac.uk/outreach. At the moment the webpage needs updating.
Application on a phone


Description
This project requires a student with strong programming skills. Programming on a phone is non-trivial because the APIs are non-standard and could mean learning Python or C++. It would be good if the application was portable across different phones. I have two suggestions for a project. One is to take photos on the phone and have an application on the phone that processes the image to extract the person and the merge them with other backgrounds. The other is from a colleage in Glasgow: how about taking a picture of a sudoku puzzle and then seeing the solution on the screen? Other suggestions welcome. You would have to supply your own programmable phone.
References


  1. http://www.myphonegames.co.uk

Bogdan Vrusias

Artificial Intelligence for Computer Games


Description
This project topic is concerned with the development of a computer game that is based on artificial intelligence principles. The project may conduct an investigation into the techniques and strategies for developing efficient AI engines for gaming applications. Applications of that could be building artificial life, building intelligent game characters, or other such chess, etc.
References


  1. Matt Buckland, Programming Game AI by Example, Wordware Publishing, ISBN: 1556220782.
  2. John David Funge, Artificial Intelligence for Computer Games: An Introduction, A K Peters, ISBN: 1568812086.
  3. http://www.gameai.com/
  4. http://www.aiwisdom.com/
  5. http://www.dmoz.org/Computers/Artificial_Intelligence/Games/

Text Mining for Topic Identification


Description
This project topic is concerned with the development of a system that automatically identifies the main topic/subject of given textual stream. The project may conduct an investigation into the techniques and methods for building such systems. Applications of that could be building web-based search engines, identifying to topic of a new email, etc.
References


  1. Automatic Topic Identification of Textual Data (http://www.cse.uta.edu/Research/Publications/Downloads/CSE-2003-25.pdf)
  2. TopCat: Data Mining for Topic Identification in a Text Corpus (http://csdl.computer.org/dl/trans/tk/2004/08/k0949.pdf)
  3. http://intelligent-web.org/wsm/
  4. http://www.sims.berkeley.edu/hearst/text-mining.html

Image Analysis and Retrieval


Description
This project topic is concerned with the development of a system that retrieves images based on a given query. The system automatically analyses the image collection and stores its main features within a numerical vector. The project may conduct an investigation into the techniques and methods for building such systems. Applications of that could be building web-based image retrieval engines, creating personal photo albums, etc.
References


  1. http://www-db.stanford.edu/IMAGE/
  2. http://ausweb.scu.edu.au/aw99/papers/lu/paper.html

Distributed and E-Commerce Applications


Description
This project topic is concerned with the development of a distributed system or an eCommerce application that complies to current state of the art technology and architectures (e.g. J2EE and .NET). The project may conduct an investigation into the techniques and architectures for building such systems. Applications of that could be building Web Service based systems, information share, data management, etc.
References


  1. Glen Daniels et al, Building Web Services with Java: Making Sense of XML, Soap, WSDL and UDDI, Que, ISBN: 0672326418.
  2. Darrel Ince, Developing Distributed and E-Commerce Applications, Addison Wesley, ISBN: 0321154223.
  3. http://java.sun.com/webservices/index.jsp
  4. http://msdn.microsoft.com/webservices/

Undertaking a Project

Other project information

The Professional Project is worth 45 credits, that is, the equivalent of three 15-credit final-year options.

See Deliverable Dates for the breakdown of the assessment of the Project.

Deliverable Dates

These dates will be confirmed at the start of the term.
Memorandum of Agreement
Week 5 Monday 17:00, 6th October, 2008. This should be handed in directly to the undergraduate office but will require the signature of your supervisor beforehand.

See What to submit? section for details of the memorandum content.

Interim Discussion (10%)
Week 1/2 Spring Semester, (19-30th January, 2009). This will be a 15-20 minute discussion with you, your supervisor and another academic member of staff to discuss your progress to date. You will need to arrange the specific date with your supervisor.

Refer to the Marking Criteria section for details of the presentation mark scheme.

Draft Project Report
Week 8 Spring Semester, Friday 17:00 13th March, 2009. This is an opportunity for you to submit a copy of the current state of your written report so that you can receive feedback from your supervisor. Note this is an essential deliverable but it is not assessed. It will enable you to receive a preliminary assessment of whether you are meeting your project goals. Refer to the What to submit? section for details.

Project Report (70%)
Week 12 Spring Semester, Monday 17:00, 4th May, 2009 . The report should be handed into the undergraduate office.

Refer to the What to submit? section for details of the submission procedure and report content.

See Marking Criteria for details of the report mark scheme.

Viva (20%)
Week 13-14 Spring Semester (during exam period, 11-22 May, 2009). This will be a meeting with you, your supervisor and another academic member of staff to discuss the results of your project.

The viva will normally involve you giving a 15-20 minute description of the software that you have created or your research findings and to explaining what you have achieved and what you have learnt from the experience. A demonstration of your software should also be given where appropriate. A significant part of the viva will be answering questions about your work. This will give you the opportunity to show your technical competence - an essential aspect of the assessment criteria.

See Marking Criteria for details of the viva mark scheme.

You will need to arrange the specific date with your supervisor and it will be your responsibility to organise this with your supervisor.

What if I miss a deliverable deadline?

No marking penalty will apply to a project submitted by a student within the limits of an agreed extension. If a student is not granted an extension, and hands in the project late, a marking penalty will be applied (new University penalty scheme to be confirmed).

Extensions

Extensions for projects will normally only be given for medical reasons. An extension can only be given by your project supervisor, with the agreement of the CS300 Projects Co-ordinator and your tutor. This will be recorded by email.

What to submit?

Please submit all deliverables of your Final Year Project to the Undergraduate Office. Do not hand in deliverables to your supervisor; the Memoranda of Agreement, Draft Reports and Final Reports need to be recorded centrally. At the beginning of the semester you will be allocated a project reference number which you should include on the cover page of all your deliverables.

What to submit for the memorandum of Agreement?

This is a one page A4 document containing the agreed project title, the names and signatures of the student and supervising tutor, and should be handed in to the Undergraduate Office. This document should record the formal agreement between you and your supervisor(s) as to the overall title, objectives and outcome of your project.

All the resources that may be required must be identified at this stage; it if your responsibility to ensure that these will indeed be available to you. If you intend to work with any outside organisations or individuals, they should be identified in the memorandum and the nature of their involvement made clear. It is strongly recommended that a written undertaking be obtained from any such organisation that they accept the Department's Guidelines for Collaborative Projects (see document for download on the web-site).

Download the Template Memorandum of Agreement document for use as a basis of your memorandum.

What to submit for your draft report?

You should submit a copy of the current state of your written report and a copy of your planned table of contents. It does NOT have to be professionally bound and will not form part of the formal assessment of the module. There is an expectation that you submit a report because it is important for you to receive feedback on your progress. You should hand the report into the undergraduate office by Week 8 Spring Semester, Friday 17:00 13th March, 2009. You can expect to receive feedback from your supervisor before Easter (end of week 10).

What to submit for your final report?

What should the report contain?

What should the CD-Rom contain?

The CD should include:

You must make sure that the CD-Rom contains enough information so that your examiners have the information needed to run any programs which you have produced as part of your project.

Please label your CD with your name, URN and Project Reference number

What is an appropriate format for the report?

The report - excluding the annex should normally be between 10,000 and 20,000 words, or 30-50 pages of A4. There is no strict rule, it all depends on the type of project.

The report can be single or double sided.

Prepare the text of the report with a word processor, using a font size and line spacing which will make it easily readable. For example, 11pt and single spacing is fine, also 11pt and 1.5 spacing is acceptable. Nowadays with word processors there is little need to make the text size 12pt - this is a bit big.

You need to leave a margin of at least 2cm on the left hand edge of the paper, to allow for binding.

There is no strict rule on whether you should use LaTeX or Word. You are encouraged to use a word processing software package that makes the report look professionally prepared.

Using mathematical word processing software

There is a lot of software currently available that supports your project write up. You will find it helpful to save each section as a separate file, as files can become unmanageably large.

Make sure you learn how to cross-reference material as well as write Greek letter, subscripts and equations.

You should look up the document on 'Guidance on Citations and Referencing' for information on how to reference material used in the Project.

Report Checklist

You need to attend to the details in the report.

  1. Make sure you have broken the material down into chapters, sections.
  2. Make sure you have a caption below each diagram, graph or figure and table to say what they are.
  3. Number sections, figures, tables and important equations so that you can cross-reference them.
  4. Make sure that the material in each section fits together coherently and that the section titles etc are an accurate description of the content.
  5. Make sure the spelling is correct.
  6. Make sure that you proof read the report.
  7. Make sure references are accurate, dates are correct, and so on.
  8. Give your report to friends and colleagues for comment and constructive criticism.

Marking Criteria

The marking criteria for each assessed part will be available on Ulearn at the start of the Autumn semester.

Complaints and Queries

In the first instance a student should discuss any concerns about their project to their supervisor. If, after raising a query with their supervisor, the student still has concerns then they should raise it with the CS300 Project Co-ordinator.

About this document ...

CS300 PROJECT GUIDELINES 2008-09

This document was generated using the LaTeX2HTML translator Version 2K.1beta (1.57)

Copyright © 1993, 1994, 1995, 1996, Nikos Drakos, Computer Based Learning Unit, University of Leeds.
Copyright © 1997, 1998, 1999, Ross Moore, Mathematics Department, Macquarie University, Sydney.

The command line arguments were:
latex2html -split 0 -link 0 -no_subdir -no_navigation -mkdir -dir /vol/www/computing/courses/cs300/2008-09/tocBook2008 booklet.tex

The translation was initiated by Hongying Tang on 2008-09-01


Hongying Tang 2008-09-01