Table of Contents

Introduction...... 3

Selection Timeline...... 4

Project Timeline...... 5

Document Structure...... 7

The Projects...... 8

Dr. Arnold Beckmann ()...... 8

Dr. Ulrich Berger ()...... 9

Professor Min Chen ()...... 10

Dr. Parisa Eslambolichar ()....11

Dr. Phil Grant ()...... 12

Dr. Neal Harman ()...... 13

Dr. Mark Jones ()...... 14

Dr. Matt Jones ()...... 14

Dr. Oliver Kullmann ()...... 15

Dr. Robert Laramee ()...... 17

Professor Faron Moller ()...... 19

Dr. Ben Mora ()...... 19

Professor Peter Mosses ()...... 20

Dr. Markus Roggenbach ()...... 21

Dr. Monika Seisenberger ()...... 22

Dr. Anton Setzer ()...... 23

Dr. John Sharp ()...... 26

Dr. Roger Stein ()...... 26

Professor John Tucker ()...... 29

Mr. Chris Whyley ()...... 29

Mr. Max Wilson()...... 30

Dr. X. Xie ()...... 31

Industrial Projects...... 32

Students’ Projects...... 38

Industrially Related Projects...... 38

Intellectual Property Rights...... 38

Selection Form...... 39

Students’ Project Form...... 40

Introduction

Swansea Computer Science Department states as its Educational Aim No 4
"The ability to plan and accomplish a substantial project". The final year project is your chance to live up to these expectations. Your project can take various forms, for instance it can be on robotics:

Other examples of past project topics include Exponential Notations, Ontologies, Video Visualisation, Haptic Interfaces, CSound Abstractions, Probabilistic Algorithms, Microprocessors, Running Threads in C++, Interactive Tutorial, Cascading Style Sheets,
Verification of RSA, Emacs, XML Databases, Mobile Phone evaluation,Parallel deterministic algorithms, Software Plagiarism, Automated web page search (IR), Life performances (IR), ...
The final year project is your chance to study a Computer Science subject of your own choice. To do something that always has interested you, however, never appeared on the Swansea syllabus. After your studies, your project most probably will become your "distinctive feature". Every job interview will include the request: please tell me about your final year project.
In terms of learning skill, what you will gain is experience in project management - within your project you will be your own manager. You will learn how to make good presentations (a talk in Gregynog, a poster at the Project Demonstration Fair), how to write a project proposal or a project report, and you will gain experience in self-organized studies. In summary: step by step you will grow out of a taught university programme and become a computer scientist in your own right.
Projects come in three different flavours: you can choose a project suggested by a member of lecturing staff, you can choose a project suggested by Industry, and you can come up with a project of your own.
Projects suggested by a member of lecturing staff are usually the safest option: based on the experience of many projects, extent, depth, and potential of the project proposal are carefully chosen. Sometimes project proposals go along with the research interest of a staff member: in these cases you can be sure to get optimal supervision.
Industrial related projects can be real career openers. Should you do well, the company might actually offer you a job. And, don’t forget: after two years of theory, finally the practise! There are, however, some potential pitfalls. Sometimes, the company loses its interest in the project during the course of the year. Then, it will be hard to arrange meetings in order to get input for the project. Also, you will serve two "masters": your supervisor at university and the company itself.
Own projects are of course the best! You follow your own path and do what you always dreamt about. In order for you not to struggle, the department requires that you find a member of teaching staff who will support your proposal. The risk in such a project is that, naturally, you don't have much project experience - and your potential supervisor might not be too familiar with the subject of your choice.
This brings us to the question: how much should you know about your project, right now? There are two obvious strategies: you go for those things that you already understand - or you take the challenge to learn something completely new. Both have their pros and cons. Should a project look clear and easy, and you understand it already now completely, it might be the case that the project lacks potential: even if you work it out in a perfect way, as it was so easy from the beginning on, it might not be possible to achieve a high grade with it. Complex projects, on the other side, might first frighten you: so many new things to learn, to understand, come to terms with. However, as they are such a challenge, even if in the end your solution is not a perfect one, you might earn a high grade from them.

One last bit of advice concerning your project choice. Most past students say: the subject of the project is not so relevant, what really matters is that you get on well with your supervisor. Thus, you really should use the Project Selection Fair for a good chat on a project of your interest and check if the communication works out.
Project selection time-line.
The first step of project selection has already been accomplished: you hold the Project Selection Brochure in your hands! Well, you need tostudy it, look at the various projects and decide which of them are interesting to you. Or you come up with a proposal of your own. That is your homework over the Easter Break.
Then, there will be the Project Selection Fairon Wednesday, April 22, 2009, see

This Fair comes in two parts: first, the various project phases will be explained in a lecture, then you will have the chance to meet,hopefully all, lecturing staff in order to discuss the projects you are interested in.
Next is the Project Demonstration Fairin the afternoon of Thursday, May 7, 2009. There you will have the opportunity to see the project outcomes of the current 3rd year
students. This might inspire your own project ideas, and it will give you a good idea what a project might look like.
On Friday May 8, 2009it is finally time for you to hand in your project choices. You can hand in up to 7 choices, ordered by your preference. Should you really want to do a certain project, speak with the member of teaching staff offering it: projects agreed between student and member of staff are most likely to be allocated. Otherwise, an allocation algorithm is applied that implements the principle: the better your exam results in January 09 the higher your chances of getting the project of your choice.
Finally, you will receive an email concerning the project allocated to you. This will be after your exams, but before the Summer Break. The current plan is to send out the allocation on Friday, June 12.
Project time-line
With the announcement of the project allocated to you, the project clock starts to tick! You have about 10 month to finish your work. Overall, the project should take about 300 hours, which is equivalent to about 2 months of full time work.
Your first course of action should be to contact your supervisor. And there is just one big piece of advice: do it immediately after you have been told which project you will be doing! Ask him or her about the necessary background studies on literature, and maybe about first steps of activity: this is what you need todo over the summer.
In September 09, when you are back for your third year studies, things will become a little hectic. The Initial Project Documentwill be due by the end of the 3rd week of Semester one. Often, this document keeps students completely busy, forcing them to neglect their
other modules. Should you have done some work over the summer, however, you will experience a nice and relaxed time. The initial document shall demonstrate that your project has a clear focus, that you understand what the project is about, and, last but not least, that you have a clear idea of what to do during your project. Thus, an initial document usually states clear project aims. Then, it puts the project into context: Where is itlocated within the big realm of Computer Science? What have other people already accomplished in the area specific to your project? Additionally, you might want to prove
that you understand the methods and tools involved in your project: for instance, you first describe the nature of the processing involved (e.g., handling XML documents), and then discuss your choice of programming language (in our example, e.g., Java as it has with JAXP an extensive library for processing XML), and give arguments for your choice (continuing our example, you could describe the class javax.xml.parsers, give an example of how to call it, where this example is protypically for what you plan to do in your
project). Finally, you provide a project plan, e.g. in the form of a Gantt chart. This all is rounded up by a vast amount of references, which preferably should be text books and scientific papers, rather than websites.
The Initial Document out of the way, the "real" work of the project begins: probably first experiments with the implementation, and/or more background reading. This will give you the material for your Project Presentation in Gregynog, end of November 09. The student conference is usually just awesome, ask last year's students how things went. Your contribution to this conference is a presentation of about 15 minutes
(12 minutes presentation + 3 minutes for questions). In the audience you will have your supervisor or 2nd marker (should they be available) as well as other students of your year. Your job is to convince them that you have, of course(!), the best project in the world and that you are completely up to it. For the first point, you will have to discuss the motivation behind your project and why this "naturally" leads to your project aims. For the second point, the best way to convince the audience is to show first project results. Some students will already have a running prototype - with limited functionality, of course, however, they clearly have something running. In a more theoretical project it might be possible to show the proof of a theorem. Or, should your project follow a top-down software development model, you might want to show the first design of the software architecture and discuss how this accomplishes the specified use cases.
The department usually supports your preparation for your talk at the Gregynog student conference with a special lecture "How to cook up a presentation?"which will be held about 2 weeks before the student conference.

After all this, the project does not have any formal demands on you for the rest of the year. In January '10, you can sit your exams without the project interfering, however nearly at the beginning of Semester 2, the Interim Documentwill be due, namely by the end of week 2. At about half-time of your project, this document gives you the chance to reflect on how you are doing: are you on track with respect to your project plan from the
Initial Document, or are things not going according to plan? In your document you discuss this relation between plan and reality, and come up with a revised project plan - if necessary. Furthermore, you give evidence of the progress you made. For instance, you write a chapter summarising background studies on topics central for your project. Or, you document a running prototype. Or you present collected design documents. Or you give a long proof for a theorem. Or or or.

After all these writing exercises, finally it is time to produce your real "masterpiece", theProject Dissertation.
Probably, it will be due at the end of week 10 of the 2nd term in your 3rd year. The good news is: you can re-use all the documents, pictures and graphics that you have produced so far. Thus, especially with all your writing experience at hand, it should not be too hard to compile a 80 - 100 pages document. Its structure is in some sense simple: First, you discuss the motivation of your project, name your project aims, give an overview on related approaches, discuss the background of your project (what tools are you using, what theoretical knowledge is needed to understand your approach). Then, you describe what you have achieved - this part should be the largest part of your dissertation. In a software oriented project, you simply provide asystem handbook including the requirement documents, the design of the software architecture, the coding principles for the individual modules, the testing approach taken (including test documentation). Finally, you take a step back and evaluate what you have achieved: did you really match all your project aims? You also evaluate your project management: what went well within your project, what parts caused trouble? A summary and outlook on possible future work rounds up your dissertation. And, of course, you better have a nice long list of references that prove that you did your homework looking up the standard literature.

Phew. Now your project is nearly done. Only the final presentation is missing, your exhibition at theProject Demonstration Fairprobably in the last week of the 2nd Semester of your 3rd year studies.
Do you still remember this Fair? The 2009 fair stood nearly at the beginning of your project life cycle, when you were about to choose a topic. However, now - in 2010 - it is your turn, to show to the departmental public as well as to the local IT industry what you have accomplished over a period of nearly one year. You will have a stand on your own, where you can put up a poster, hand out fliers, have your business card at hand. Quite a few students found their first job thanks to this fair. Anyway: your task at this fair is simple to explain. Within the time-span of, say, 5 minutes you need to be able to explain your project to a visitor of your stand: what it is about, what you have accomplished, what makes your solution special. A project demonstration in the form of a running programme might round up your explanation. To this end, the department will make sure that there are enough computers available, but you might also want to bring a laptop of your own.
Like for your Gregynog presentation, the department will arrange for an extra lecture How to come up with a great poster?which will cover the graphical design principles for posters as well as the technical question of how to actually produce it.
Well, that's about what you need to know right now. What remains is to wish you all the best of luck with your project!
Markus Roggenbach, Chris Whyley

(3rd year project coordinators)

Document Structure

Initial Document (Semester 1 Week 3)

Length: 15-20 pages.

This document should give the title and introduction to the project area. It should detail the scientific and technical background of the project, and present a rigorous discussion of the project. For example, it should contain a design specification of the entire system to be developed or discussion of theoretical problems to be addressed. The document should cover the following topics:

• a study and survey of relevant literature and similar work;

• a detailed project plan;

• a complete discussion of the background and the relation of the project to this;

• the main methods and tools to be employed or evaluated;

• the main scientific questions to be considered;

• the main technical problems to be solved;

• the software and hardware constraints if appropriate;

• anticipated problems and further areas of study or influence.

Interim Document (Semester 2 Week 2)

Length: 10-15 pages.

This document should summarise progress to date, report preliminary results and state changes to the initial plan if any. The document may include the following topics:

• a progress review;

• a further literature survey;

• preliminary results (e.g. problems mathematically formulated, solutions found, algorithms designed and parts of the system formally specified or implemented);

• a revised project plan and timetable.

Dissertation (Semester 2 Week 10)

The dissertation (40-100 pages) is a comprehensive and self-contained report on the work done on the project.The document should include the following topics:

• discussion of the subject area and its history;

• a study and survey of relevant literature and similar work;

• formulation of scientific questions and the answers to them;

• theoretical background and mathematical prerequisites;

• technical problems considered and methods used to solve them;

• discussion of issues arising in specifying, designing and implementing the system (e.g. requirements analysis, user interface, system architecture, algorithms, major data structures, etc.);

• evaluation of results (e.g. complexity, efficiency, user-friendliness, reliability, etc.);

• user and system manual;

• progress and achievements of the project;

• suggestions for further work.

Demonstration and Viva (Semester 2 Week 11)

A project demonstration fair will be held during week 11 of Semester 2. Students will be expected to:

• Display posters explaining their projects.

• Explain their projects to other students and representatives from local IT businesses.

• Demonstrate any software created for the project.

• Answer questions from their supervisors, other students and local business representatives.

The Projects

Dr Arnold Beckmann

Dr. Beckmann's research is mostly concerned with applications of logic and
complexity to questions in computer science. Here are some possible projects, further information can be found at