Site Tools


Table of Contents

CM3304 Two Semester Individual Project

This is the main page for information about the 40 credit two-semester final year project module CM3304.

* CM3304 Guide: The complete guide for CM3304 on a single page for printing/saving as PDF.

Project Selection

At the beginning of the third year you are going to select your final year project. Below are guides on how to propose projects and select your project using PATS.


This is an overview of the expected deliverables and related tasks you have to execute for your project. Details on these deliverables and tasks are available on the linked pages. You also find the required deliverables with their submission deadlines under your PATS project details.

  • Initial Plan: You must submit an initial plan (by the beginning of week 4 of the first semester, at most 2,000 words, worth 5%).
  • Interim Report: An interim report must be submitted at the end of the first semester (by the end of week 11 of the first semester, at most 5,000 words, worth 25%).
  • CM3304 Final Report: A final report must be submitted at the end of the second semester (by the end of week 12 of the second semester, at most 20,000 words, worth 70%).
  • Project Viva: A project viva will take place after the exams for every final year project.
  • Project Publication: Details about how to publish your project online in PATS.

For information about how to submit a report via PATS please see the Submission Guide. Note that in order to get an extension to the submission deadline the general coursework submission extension guidelines apply.


These guides are meant to help you produce good final year project reports. A good report is one that presents your project work concisely and effectively. It should contain various materials relevant to the work you have undertaken in respect of your project; it should be organised into a logical framework; and it should be supported by written material that follows well-established academic conventions in a consistent fashion.

An important point to remember is that the report should describe your work. Large chunks of bookwork describing standard material are unnecessary. You should simply refer to such material where necessary - assume that your reader is a competent computer or information systems theorist or practitioner. The guidelines here are arranged roughly in the order that you will need them.

Your project supervisor will guide you on what it is reasonable to expect a project in your chosen topic to deliver. However, all projects are required to justify all decisions made at every stage of research and the development of appropriate deliverables, including the choice of approach.

Further information on how to use PATS, prepare the various deliverables in a suitable format and related technical issues are available in these guides:

  • Submission Guide: General instructions on how to submit the deliverbales via PATS.
  • PDF Guide: Instructions on how to generate PDF files.

Project Coordinator

Project Selection

Project Proposals

You can propose your own project for your final year project or take on a project proposed by staff. Here we discuss how to write and submit your own project proposal. The process is the same for students and members of staff, and both kinds of proposal should provide the information outlined here.

Please see the Project Supervision entry for how to find a supervisor for your own proposal or agree supervision of a staff proposal. Deadlines for the selection will be announced by e-mail and are also visible in the PATS Tasks section.


The purpose of the project is, in the context of the degree you are studying, to integrate various aspects of the taught material and to demonstrate your (academic) research skills and your (professional) analysis, design and implementation skills. It gives you the opportunity to conduct in-depth work on a substantial problem to show individual creativity and originality, to apply where appropriate knowledge, skills and techniques taught throughout the degree programme to further oral and written communication skills, and to practise investigative, problem-solving, management and other transferable skills. The management and execution of the project is your responsibility, but you should seek and take advantage of advice from your supervisor.

As a general guideline a good project aims to solve a problem related to your field of study. You can pick a general area you are interested in and try to find a specific problem you could be working on. Instead of solving a complete project you can also work on a partial solution or some specific aspect of a larger problem, possibly simplified to make it feasible for a final year project. If you are not sure on the specifics you can also discuss a rough initial idea for a project with a member of staff to find something suitable, that can be executed in the context of a final year project. Out of such discussions often very interesting project ideas can arise.

When you choose a project, you should do so carefully, to reflect the focus of the degree programme you are enrolled in, your personal interests (the project needs to keep you interested for the duration of the project) and the ability of the academic staff to support you throughout your project. Projects vary widely in the problem they address and the products they deliver at the end. While the main product of some projects is a piece of software or hardware, other projects produce a systems model or design, and yet others may address some research hypothesis using a theoretical or experimental approach. This means not every project produces a piece of software. In brief, the better defined the problem that your project addresses, the further through the systems lifecycle you should expect to progress in the course of your project. If instead you are addressing a research hypothesis, your main product may be the evaluation of some experiments or a theoretical result.

So, for example, a project that seeks to develop a logistics planning system for a small business or voluntary organisation would be expected to provide a fully operational, fully tested program that meets all the identified needs of the client. However, a project that aims to validate a government policy in a particular area might only achieve the development of a model to confidently simulate the main factors influencing that policy, and identify the research agenda in terms of specifying precisely the data requirements to allow a full investigation of the relevant factors. A scientifically oriented project may focus on the practical or theoretical evaluation of a new rendering approach and compare it with existing approaches, which may involve some implementation, but does not require fully functional software.

Project Proposals

To submit a new project proposal, log into your PATS account. On the left navigation bar you will see a “My proposals” link which takes you to a section listing your own proposals. There you can add new proposals, edit or delete existing proposals and make them available for selection.

To create a new proposal go to the “New Proposal” tab and enter a proposal title and description. If you are a student the proposal will automatically be assigned your degree scheme (Please check in your profile that your degree scheme there is correct and contact the project coordinator if this needs to be amended). Staff should select the degree schemes for which their proposal is suitable from the list provided.

When choosing a title for your proposal make sure it refers to the core topic of your project. Do not make the title too general (like “A Computer Game”, instead of the specific type of game you wish to write) or provide too much details (“A System to Manage the Selection, Allocation, Deliverable Submission and Marking of Final Year Projects”, instead of “Final Year Project Management”).

In the description of your project briefly give the general context of your project and then describe what you intend to do for the project in detail. Outline the main issues you wish to address with the project and what you intent to produce by the end of the project. Also describe any special resources you need, e.g. non-standard hardware, special software, etc. Staff may also wish to discuss the skills needed to execute the project and the skills that must be acquired during the project.

You may also wish to discuss ideas for projects with staff members who may be interested in supervising this. This can especially be helpful to refine your idea.

Project Selection

In the initial phase of project selection you will only be able to propose projects, but not select projects. This will become available at a later time and will be announced by e-mail. Then student and staff proposals are available for viewing, expressing interest and arranging supervision (see Project Supervision). Only projects marked as available can be viewed by others during this phase. You can change the availability status of a proposal on PATS at any time. Note that proposals selected for supervision will automatically become unavailable. (Members of staff are able to make proposals available again if they think more than one student can in principle work on the project, but the work students dp at the same time must still be sufficiently different to qualify as separate project).

You can submit more than one project proposal, but please keep the number of proposals reasonable and rather make sure you write one or two really good proposals. This will make it much more likely that you find a member of staff to supervise your project. Of course you can only do one project and once supervision with a member of staff is agreed via PATS (only staff can choose to supervise a project), this can only be changed in very exceptional cases.

There is no guarantee that there will definitely be a member of staff who will supervise any of the projects you have proposed. This will depend on the quality of your proposal and staff's interest and expertise. Alternatively you can select a staff proposal instead or even despite having made a good proposal, if you are more interested in this.

To a somewhat lesser degree this equally applies to staff proposals - there is no guarantee to find a student who can or wants to do a staff project, nor do members of staff have to supervise all their own proposals. However, a student who does not select a proposal will be assigned a random member of staff as supervisor.

Arranging Project Supervision

After proposals have been submitted they will eventually become available for arranging supervision. This will be announced separately by e-mail. Your own proposals can then be viewed by members of staff and staff proposals will become available for viewing. During this phase it is still possible to edit your proposals and add additional proposals to the system.

Suitable navigation links will then be available in PATS to view proposals and express interest in them. Note that expressing interest simply indicates to the proposer that you may want to do the project, but it does not mean supervision is agreed. Members of staff can see which proposals you are interested in and you can see who is interested in your proposals.

During this time you should contact members of staff to discuss the proposals and agree supervision. You must discuss a proposal with a member of staff before supervision can be agreed and usually this should be done in person.

If a member of staff is happy to take you on for one of their projects or to supervise your project they can select to supervise you on PATS directly. This will create a project that will become available in the navigation bar. Once this happened you have a project agreed and cannot select any other project. This usually cannot be reversed. So make sure that once you agree the supervision of a project, this has actually also been done on PATS. Note that members of staff can only choose to supervise you on a project in which you have shown interest.

Please mention your degree scheme to the staff members when you see them. This is to ensure that the suitability of your proposed project for your degree scheme could be checked by the staff members. You may also like to discuss the scope of your proposed project with the staff member, i.e. whether the project will allow you get a pass, 2-1 or first class.

Note, that after supervision has been agreed the proposal accepted will become unavailable and the students other proposals will also be marked as unavailable. A member of staff can make their own proposals available again, if they think there is sufficient scope for more than one student to work on different aspects.

If you do not select a proposal by deadline then you will be assigned a random supervisor at the beginning of the project year. This is not in your interest as you may well get the worst possible arrangement. Even if you cannot find a perfect proposal and/or cannot find a supervisor for your own proposal, it is still better for you to select a proposal than not selecting anything at all.

Dates and deadlines will be announced by e-mail and are also available in the PATS Tasks section..

Supervisors for Undergraduate Projects

Members of staff available to supervise undergraduate projects:

  • Alia Abdelmoty - BIS
  • Stuart Allen - BIS
  • Richard Booth
  • Martin Caminada - BIS
  • Federico Cerutti
  • Padraig Corcoran
  • Mike Daley
  • Bailin Deng
  • Natasha Edwards - BIS
  • Andrew Jones - BIS
  • Chris Jones - BIS
  • Angelika Kimmig
  • Yukun Lai
  • Frank Langbein
  • Hantao Liu
  • Dave Marshall
  • Matthew Morgan - BIS
  • Helen Phillips - BIS
  • Alun Preece - BIS
  • Omer Rana - BIS
  • Philip Reinecke
  • Jianhua Shao - BI
  • Kirill Sidorov
  • Irena Spasic
  • Xianfang Sun
  • George Theodorakopoulos - BIS
  • Liam Turner
  • David Walker
  • Jing Wu


Initial Project Plan

The final year project is a substantial part of your degree. It can have a major effect on the degree class you are awarded and even whether or not you pass the degree. The initial project plan is to make sure you understand what your project requires you to do and how you are going to finish it successfully. You must submit an initial project plan at the beginning of your project.

The initial plan is marked by your supervisor and moderator independently. Before you submit the final version you should discuss the plan with your supervisor to make sure both of you agree on what your project entails.

We suggest that you write an initial version of your project plan and arrange meetings with your supervisor to discuss it and revise the plan. If you are not sure what to write in the plan, please discuss this with your supervisor before you write the draft.

You can find the deadline for submitting your initial plan on PATS under your project details. Note that there is little time to complete the plan, so make sure you start early and arrange the supervisor meetings well in advance. For information about how to submit your initial plan via PATS please see the Submission Guide.

Finally, note that this is an initial plan, and you can, and most likely should, adjust the plan as you progress. Note, however, that with the initial plan you are prescribing what you intend to deliver at the various stages of the project as explained below.


For the initial plan you should consider, after discussion with your supervisor, whether the project will require research that needs ethical approval. See School guidance on research ethics for further details. If it is necessary include the required steps in your work plan and briefly discuss the issues in the initial plan document.

Structure and Contents

Your initial plan should be at most 2,000 words, excluding any figures and tales. It should contain the following information:

Project Title

The title of the initial plan document should be “Initial Plan” followed by the title of your project. List yourself as author and also list your supervisor with their roles. Please also list the module number and module title you are taking and credits due for this module.

Project Description

The first section of the document should be a brief description of your project outlining the problem you are trying to solve, its context, and overall aims. You can adapt the proposal used to select your project. Half a page to one page should be sufficient for this.

Project Aims and Objectives

The second section of the document should be a list of more detailed aims and objectives for your project. These are statements of what you set out to achieve with your project. Try to be as specific as possible at this stage, but avoid getting into too many details that may change later. It's only the main results and components of your project you should list. A bullet point list with at most one level of sub-points is usually sufficient.

Work Plan

The last section of your initial plan should consist of a time plan stating what you are working on when. This should include clear milestones of what you expect to achieve by which date and also show how you intent to achieve these milestones.

Make sure you clearly describe what you intend to include in the deliverables required for your project type, i.e. state what you will produce for the interim and final report, as applicable for your project module. Link the deliverables to your time plan, such that you actually plan to deliver them when they are due.

Your time plan should further have at least two scheduled review meetings with your supervisor. You should typically see your supervisor once a week for a shorter time or once every two weeks for a longer time. The details of these arrangements are for you to agree with your supervisor. However, in your time plan you should mark out special meetings with your supervisor where you are reviewing your progress since the last such meeting (or from the beginning) and adjust your plan for the project based on the outcome of this meeting. These review meetings are mandatory and are considered as part of the mark of the reports (see marking criteria there).

You are free to choose the work plan format that you think is best suited for your project and working style. This may be a Gantt chart, but sometimes it may also be sufficient to simply list in sequence what you are working on with a time-scale and milestones/deliverables. Usually a weekly scale for the work plan is a good choice. Take note of the deadlines for the deliverables as listed in your PATS project description when you develop the work plan and also consider any other commitments and busy times such as the exam periods.

Planning for Multiple Reports

This section is only relevant if you have to produce an interim and a final report for your project. Note that the final report should not repeat content of the interim report. They should rather be two reports that overall make up your project report.

What to include in the two reports depends on the nature of your project. Your interim report should provide the results of the first stage of the project, representing about 25% of the total project work. This would usually be the results of the background study and a detailed analysis of the problem with a description of an approach of how to address the problem. For some projects, e.g., it may also contain an initial version of a final deliverable or some other building block of the overall project. It is not necessarily everything you have done by its due date (this depends on your time plan and other commitments), but is rather a first deliverable of your project due by the end of autumn term.

The final report contains the overall project findings and achievements and the complete set of deliverables developed for the project to account for 75% of the project. The report should not repeat the contents of the interim report, but may refer to it and expand on it.

Your project plan effectively defines what should go into which report. Hence, you should carefully discuss this with your supervisor to make sure there is enough for 25% in the interim report and you neither try to do too much or too little for the interim report.

Marking Criteria

Your supervisor and moderator will mark your plan according to the following criteria:

  • Title and project description accurately represent the project and are suitable for the module you are are taking;
  • Aims and objectives are clear, sufficiently detailed and provide a suitable challenge for your project;
  • Time plan is feasible, sufficiently specific to the project, and has a clear timeline and milestones;
    • Deliverables for the reports required for your project are suitable and clearly specified;
    • Approximate dates for at least two review meetings are given;
    • The amount of work is suitable for the credits and level of the module;
  • The report is well written and clearly structured;

on the following scale:

  • 0 marks: No suitable plan has been submitted.
  • 1 mark: Only a partial plan with major deficiencies/omissions has been submitted.
  • 2 marks: A plan with a project description, aims and objectives, and time plan has been submitted…
  • 3 marks: …which is feasible to execute within the constraints of the project…
  • 4 marks: …and has sufficient project-specific details and clear milestones…
  • 5 marks: …and shows originality and professionalism and/or scholarship.

Supervisor and moderator will leave comments about your plan explaining any concerns they may have and their expectations regarding the aims and objectives and deliverables. Make sure you consider these when executing the project.

Interim Report

The interim report is worth 25% of the total project mark. It should cover the results of the first stage of the project. This report usually consists of the results of the background study and a detailed analysis of the problem with a description of an approach of how to address the problem. The precise nature of this report depends on the project and the agreed deliverables for the interim report in the initial plan to indicate the progress made on the project to account for 25% of the project. For example, it may for some projects also contain an initial version of a final deliverable or some other building block of the overall project. The interim report forms part I of the project and has to be submitted towards the end of the first semester. See your project details in PATS for the submission deadline.

Please check your initial plan in which you should have clearly outlined the deliverables for the interim report. Your supervisor and/or moderator may have left additional comments on your plan on PATS to tell you whether these deliverables are suitable and what they expect for the interim report. Also discuss carefully with your supervisor what you should be including in the interim report. You can deviate from the initial plan, if you have a good reason for this, and should explain this in the report.

Structure and Contents

The interim report should be at most 5,000 words long. General guidance on project report structures is available in Arranging Material and Structuring the Project Report. A possible structure for your interim report is:

Title Page Support
Table of Contents
Table of Figures
1.Introduction Main body
Glossary Support
Table of Abbreviations

If you are implementing a piece of software the “Approach” section above would be the “Specification”, possibly with a discussion of how to realise this. For a project addressing a “softer” problem the Approach section may be “Selection of Approach”. If instead you intend to compare algorithms it may a “Description of Algorithms” and if you intend to design and and analyse an algorithm it could be “Algorithm Designs”. The Conclusions section should briefly conclude only your interim report.

You should adjust the structure of the interim report to your specific project and choose suitable sections to represent this. Please discuss the structure and contents of your interim report with your supervisor. The three main sections / topics you should be covering are (unless differently agreed upon in the initial plan):


The introduction should describe what your project is about, outline the problem you intend to work on and its context and what you aim to achieve.


The background should cover the information that a typical reader cannot be expected to know, but which they will need to know in order to fully understand the project. This covers information about related work that you may either use in your project or that attempts to solve a similar problem.


The approach is a project specific part and should cover details about how you intend to solve the problem. It should cover the deliverables your prescribed in the initial plan for your interim report. This could be the requirements and specification with a design of the whole or part of the problem, or simply the approach you intend to use to gather the requirements and validate your models. You may also describe the algorithms you intend to implement for a more research oriented project. Alternatively it could also cover the design and implementation of a smaller component of your complete system.


The conclusions should be a summary of the main results and the aims of your interim report. You can also mention your future work, intended to be executed for the final report, and to link it to the final report. In some cases you may also wish to provide an update timeplan, from the initial plan, describing how you are continuing the project until the final report submission. This timeplan could be included in as an appendix of the interim report.

Interim Report Assessment

After the submission deadline your supervisor and moderator assess the interim report independently of each other. They will submit the marks and their comments on your report on PATS where you will be able to view these. You will be informed by e-mail when these results are available (after the marking deadline as soon as both marks are available). You will have the opportunity to discuss the results and the feedback on the interim report with your supervisor at your regular meeting.

The criteria for assessing the interim report are listed below. Please read these carefully as it will help you to see what your assessors will be looking for in your report. Also take into account what you promised to produce for the interim report in your initial plan, and your supervisor's and moderator's comments on this on PATS. How far you managed to produce these deliverables is part of the interim report assessment.

A mark out of 25 is given on the Report, representing 25% of the total mark. The mark awarded for the Interim Report will be carried over from the first semester, and will be added to the marks given for the initial plan and the final report to give a total mark from each assessor. If their total marks differ by less than 10, the final mark for the project will be the average between the supervisor's and moderator's total mark. If the difference is 10 or greater, they meet together to discuss the reasons for the difference, and try to come to an agreement. If they cannot agree, a third marker will be appointed.

You can resubmit your interim report at any time until the deadline and your supervisor and moderator will not be able to mark this or make any comments online before the deadline. Please discuss your interim report with your supervisor at your regular meetings. You can upload parts of the report onto PATS so that your supervisor can look at these (or give the report in any other way to your supervisor). Just upload the files in the file upload section and your supervisor and moderator can see these there (you can, but do not have to submit them until you have the final version).

Assessment Criteria

Your supervisor and moderator will assess your interim report according to the following criteria:

  • Understanding of the problem and the aims and objectives of the project
  • Achievement of agreed deliverables given in initial plan for the interim report (or a justified modification of these; by default a background study and discussion of an approach towards solution)
    • Awareness of background to the problem (as relevant to the interim report)
    • Detailed analysis of the problem, requirement specification and definition (as relevant to the interim report)
    • Suitability of approach towards solving the problem (as relevant to the interim report)
    • The amount of work reported in the interim report should be about 25% of the total work required for the module
  • Written communication skills and project management, to also include
    • Interaction and work with supervisor
    • Review meetings, as specified in the initial plan

The scale for this assessment is:

  • Third class (>= 40%): The student has clearly defined the problem and made progress towards undertaking a project…
  • 2.2 (>= 50%): …and demonstrated a disciplined and adequate approach towards the project…
  • 2.1 (>= 60%): …and an appreciation of best practice with a full justification for the approach…
  • First class (>=70%): …and evidence of originality and professionalism and/or scholarship.

CM3304 Final Report

You must submit a final report worth 70% of the total project mark, which should cover the overall project findings and achievements. The report should not repeat the contents of the interim report, but may refer to it and expand on it. You will also have to submit a complete set of the deliverables developed for the project, as specified in your initial plan (including any source code and soft system models). This involves the development of some tangible piece of software, hardware, system design or theoretical result. It need not necessarily be a usable finished product. Instead it could be, for example, an extension to an existing system or a prototype built as part of a feasibility study. Deliverables do not necessarily have to be programs, but could be in non-executable form, for example, an SSM conceptual model. The final report forms part II and the deliverables form part III of the project. Both parts must be submitted towards the end of the second semester. See your project details in PATS for the submission deadline.

Please see your initial plan in which you should have clearly outlined the deliverables for the final report. Your supervisor and/or moderator may have left additional comments on your plan on PATS to tell you whether these deliverables are suitable and what they expect for the final report. Check the comments on PATS for your report. Your deliverables may be adjusted based on your findings for the interim report and additional changes introduces since then. If so, justify this in the report. Also discuss carefully with your supervisor what you should be including in the final report.

Structure and Contents

The final report should be at most 20,000 words long. General guidance on project report structures is available in Arranging Material and Structuring the Project Report. A possible structure for your final report is:

Title Page Support
Table of Contents
Table of Figures
1.Introduction Main body
3.Results and Evaluation
4.Future Work
6.Reflection on Learning
Glossary Support
Table of Abbreviations

The Introduction should relate the final report to the interim report and discuss any changes, extensions or new insights since the interim report to the material. In some cases this may also go into a separate section if the material is quite extensive.

If you are implementing a piece of software the “Design” and “Implementation” sections are quite suitable. For a project addressing a “softer” problem these may instead be “Application of Selected Approach” and “Deliverables from Selected Approach”. If you intend to compare algorithms it may on “Implementation of Algorithms” and “Experiment Design”. If you intend to design and and analyse an algorithm it could be “Alternative Designs and Final Algorithm” and “Implementation”. Do not take any of these section headings as fixed, but instead consider them as a guide and choose the structure and headings best suited to your project.

Then present the results of your work and evaluate these results with suitable evidence, discussing the advantages and weaknesses of your approach. The Conclusions section should conclude your project overall and your report should end with a reflection on learning.

Final Report Assessment

After the submission deadline your supervisor and moderator assess the final report independently of each other. In addition a project viva will be held to demonstrate and discuss your project after the complete project has been submitted. The format of the viva varies depending on the project, but generally consists of a demonstration or presentation of the deliverables followed by a discussion of various questions from the supervisor and moderator relating to the project.

A mark out of 70 is given on the final report, representing 70% of the total mark. The marks awarded for the interim report and initial plan will be carried over from the first semester, and will be added to the marks given for the final report to give a total mark from each assessor. If their total marks differ by less than 10, the final mark for the project will be the average between the supervisor's and moderator's total mark. If the difference is 10 or greater, they meet together to discuss the reasons for the difference, and try to come to an agreement. If they cannot agree, a third marker will be appointed. You will receive the total marks with your other module results.

The criteria for assessing the final report are listed below. Please read these carefully as it will help you to see what your assessors will be looking for in your report. Also take into account what you promised to produce for the final report in your initial plan, and your supervisor's and moderator's comments on this on PATS. How far you managed to produce these deliverables is part of the final report assessment.

You can resubmit your final report at any time until the deadline and your supervisor and moderator will not be able to mark this or make any comments online before the deadline. Please discuss your final report with your supervisor at your regular meetings. You can upload parts of the report onto PATS so that your supervisor can look at these (or give the report in any other way to your supervisor). Just upload the files in the file upload section and your supervisor and moderator can see these there (you can, but do not have to submit them until you have the final version).

Assessment Criteria

Your supervisor and moderator will assess your final report according to the following criteria:

  • Solution to the problem
    • Approach and design
    • Solution, implementation
    • Use of and justification for appropriate tools/methods
  • Evaluation
    • Testing and validation
    • Critical appraisal of results
  • Communication and project management skills
    • Written (final report) and oral (viva) communication skills
    • Project planning, control and reflection
    • Interaction and work with supervisor
    • Review meetings, as specified in the initial plan
  • Deliverables and extensions
    • Achievement of agreed overall deliverables given in initial plan for the final report (or a justified modification of these)
    • The amount of work reported in the final report in combination with all deliverables should be about 75% of the total work required for the module
    • Extensions since the interim report on understanding of the problem, approach towards a solution, and the interim report deliverables

on the following scale:

  • Third class (>= 40%): The student has clearly defined the problem and made progress towards a solution…
  • 2.2 (>= 50%): …and demonstrated a disciplined approach and adequate solution…
  • 2.1 (>= 60%): …and an appreciation of best practice with a full justification for the solution…
  • First class (>=70%): …and evidence of originality and professionalism and/or scholarship.

Project Viva

The final part of your project is your project examination, which will take place after the exams. This viva exam will be timetabled any time in the University's Examinations period, usually in exam week 4 and 5. You must therefore remain available at the University until the end of the Examinations. You should not arrange any holidays, employment or other commitments until after this date. The timetable for the viva exams will be published as soon as possible after the submission deadline.

Note, that not attending your viva exam will result in you failing the module (unless you have extenuating circumstances in which case the viva exam will be rescheduled).

Below we explain the procedure that you need to follow for your project examination.

Your project examination is in the form of a viva, conducted by your supervisor and moderator together. The normal format of a viva is this: you demonstrate the work you have done your project to your supervisor and moderator first, and then they ask you some questions on your project. The format of project demonstration may vary. If your project has resulted in some software system or prototype, demonstration of the workings of your software in the lab will be necessary, but no formal presentation is required. If your project is of an analytic nature, then it may be demonstrated through a carefully constructed presentation, showing your analytic process and your findings. The questions that your supervisor and moderator will be asking you after your demo/presentation, will be based around your project, for example, your choice of software, justification for your choice of methodology, your design method, validity of results, etc. It may also involve some general issues in the context of your project and your degree programme. This whole process should last no longer than one hour.

As part of the viva questions, supervisors and moderators will explicitly query you on whether ethical approval was obtained for any elements that involved human participation in some way. You should be aware of the requirements and procedures following a talk in the autumn semester and a reminder email before the spring semester.

The timetable for the vivas will be made available to you, usually by e-mail. Please check your e-mails regularly, particularly nearer the time in case there are last minute changes to the schedule. Five minutes before the time of your viva, you should make yourself ready and wait outside your supervisors's office. Your supervisor and moderator will then ask you to take them to the lab to see your demo. After the demo, you may stay in the lab or go to your supervisor's office for the questions and discuss your project. If your demo is in the form of presentation or uses a laptop, then your supervisor may ask you to do it in his or her room. You can also agree with your supervisor and moderator to meet you in the lab directly, but make sure both of them know about this. Ensure that you are not late for your viva. Missing the viva means that you will fail your project module, unless you have a valid reason for missing it (see extenuating circumstances). If you have any questions regarding the viva and its arrangements for your specific project or there are any special requirements, please discuss this with your supervisor well before the viva date.

IMPORTANT: Make sure that your project is demonstrable on the day. It would be a good idea that you should try it out the night before and then perhaps “minutes” before your viva. This is particularly important for those who have used their own computers/software to develop their projects - the sofware may not work on the School's computers! It is your responsibility to make sure that your project is demonstrable. You can bring in your own equipment for the demonstration, but it is your responsibility to arrange this.

All project demonstrations will be conducted in C/2.05, the PC Lab, which will be set up with Linux, Mac and Windows computers. The lab is reserved for project demonstration only in the viva weeks. To set up your demo, please use other labs - they are all networked and operate in the same way. If you have developed your project using your own computer and you wish to demo your project using your own computer, then you may bring your computer in on the day and place it in C/2.05 for your demo. Note that you may need to register your computer on School's network, so please check with our system administrators. For any more specific requirements for the demo, e.g. specialised hardware, please discuss with your supervisor and our system administrators to find a suitable way to execute the demo.

Contact the project coordinator if you have any queries regarding your viva.

Project Publication

If you wish to make your project available online after it has been completely submitted and marked, you can specify this in PATS. On the project description page you can check “make project public”. This will generate a publication form that will automatically be added to your project. You can see the way your project (as far as it has been submitted) will appear, once published via PATS, in the “Complete Project” tab. Everything visible there will appear in the PATS archive if you select to make your project public. Examiner reports, marks, etc. will of course not be available there. The date by when you must finalise this is shown in the description tab of your project, at the bottom, indicating how long the data can still be modified. A copy of the publication form is here:

Note that we cannot guarantee that your project will be published via PATS or for how long it will remain available online.


Gathering Material

This section outlines the kinds of material you need to collect before you can begin writing in earnest. Most of the necessary material will consist of your own ideas and experiences gained while carrying out the project, and your approach to solving the problem you have decided to address. For the background study or literature review you will also need references to various resources such as key books and papers, policy documents, Internet resources, related software, etc.

While working on the project you may find it helpful to keep a notebook handy and record all relevant information. Typically such information will include:

  • references such as papers, books, websites with full bibliography details;
  • lessons learned, for inclusion in the “reflective” part of your report;
  • notes from meetings or interviews with
    • your supervisor,
    • potential end-users and other stakeholders,
    • technical experts;
  • and so on.

Also, we recommend that you keep a diary of all your project-related activities. This will show the progress made during the life of the project and will provide a record of how you spent your time. In particular, when you are validating, testing and debugging your work, keep a running log of your activities and their outcomes. You will then have a record of the unforeseen difficulties you met and, hopefully, how you resolved them. Summaries of these may well be worth including in the project report (see Implementation).

In general you should supplement the material you generate yourself with relevant material from other sources. A good project report will show that you are aware of relevant work that other people have done (see Background). You should include relevant references to such work in your project report. References to work in periodicals, i.e. magazines and journals, and conference proceedings may be more useful than references to textbooks, as periodicals and conferences are usually more specialised and up to date. References to technical manuals and national and international standards should also be included, where appropriate. You may also cite web sites as sources, if suitable. However, keep in mind that web sites may often contain incomplete or wrong information and in general textbooks or papers are a better reference and show that you have done a more extensive literature review than just searching for some keywords on the Internet.

Arranging Material and Structuring the Project Report

You should consider, at the beginning of your project, what you need to do to solve the problem you have chosen to address. This will then inform choices about the structure of your reports; your written reports need to be both a “narrative” (telling the story of your project) and an “argument” (providing a logical justification of the steps you have undertaken to solve your chosen problem). Once you have started to gather material you can begin to arrange it in a form which can then be refined into a report, though the outline chapter headings shown below will serve as a good guide in the early stages of your work.

All good project reports whatever their subject, follow certain well-established conventions and have a similar overall shape. They generally consist of a main body surrounded by other information (presented in appropriate formats) that support it in various ways. Some of these are mandatory, others are optional.

Suggestions of the particular structure for the final and interim reports are given in the Interim Report and Final Report topics on this wiki. You should vary the titles of the sections if these are inappropriate for your project - your supervisor is the best person to guide you on this. Here we concentrate on the main body of the report and generic sections for both reports. The supporting information is discussed later. We recommend that you do the same when writing your report, though you should have a plan for your report which will guide you on what material your should be retaining for eventual inclusion.

We look at each of the general sections of the report structure in more detail below. You can use this characteristic structure as a rough template for organising the material. However, often it may be of advantage to adjust the suggested structure to your particular project instead of sticking to the template. Consult your supervisor for advice. It is also a good idea to plan roughly how long each part should be before writing the report, to make sure that the length and overall balance are about right. You can then construct each part to produce a first draft of the main body.

The "Introduction"

A good introduction should tell the reader what the project is about without assuming special knowledge and without introducing any specific material that might obscure the overview. It should anticipate and combine main points described in more detail in the rest of the project report. Also, importantly, it should enthuse the reader about the project, to encourage them to read the whole report. Normally it should include such things as:

  • the aim(s) or goal(s) of the project,
  • the intended audience or “beneficiaries” of the work done,
  • the scope of the project,
  • the approach used in carrying out the project,
  • assumptions on which the work is based and
  • a broad summary of important outcomes.

The "Background"

The purpose of the Background section is to provide the typical reader with information that they cannot be expected to know, but which they will need to know in order to fully understand and appreciate the rest of the report. It should explain why the project is addressing the problem described in the report, indicate an awareness of other work relevant to this problem and show clearly that the problem has not been solved by anyone else. This section may describe such things as:

  • the wider context of the project,
  • the problem that has been identified,
  • likely stakeholders within the problem area,
  • any theory associated with the problem area,
  • any constraints on the approach to be adopted,
  • existing solutions relevant to the problem area, and why these are unsuitable or insufficient in this particular case,
  • methods and tools that your solution may be based on or use to solve the problem,
  • and so on.

The wider context of the project includes such things as its non-computing aspects. So, for example, if you are producing software or any other products, including business recommendations, for a specific organisation then you should describe aspects of that organisation’s business that are relevant to the project. If you are doing a research oriented, say on particular algorithms, you should also refer to the general problem for which these algorithms are useful (the application(s) for your techniques).

Relevant existing products, documents or artefacts that you should mention could be ones that, for example,

  • are similar to the one you are proposing,
  • support your project,
  • your project aims to extend or replace,
  • demonstrate the “deficiencies” your project intends to address.

You need only describe things that will be unfamiliar to the potential reader, or are unique to the organisation or topic your project addresses. Your project, if it involves software development, will almost certainly use all kinds of existing software such as language compilers, subroutine libraries, etc., but you can assume that the reader will be fully acquainted with, for example, general purpose programming languages such as Java, C/C++, Fortran, Pascal, Python, PHP, etc,. Also, it may involve the better known specialised packages such as MySQL, ORACLE, OpenGL, etc. You should mention the particular variety and possibly version number, e.g. Java SE 6, but you need say nothing more than that.

If your project depends on any specialist or uncommon software such as specialised subroutine packages or a more obscure or specialised programming language, you should describe them briefly and discuss whatever features are relevant to your project. Often this can be done by comparing it to some well-established piece of software, for example

The Descartes language is like a restricted version of Pascal but with
the following extra features: ...

Again, long descriptions of details are to be avoided and references to suitable sources of detailed information should be given instead.

Other background information could consist of the sequence of events leading up to the present situation or the results of earlier investigations. You could also discuss such things as any cost or time constraints imposed on the project.

Your background section should end with a clear statement of the research questions problem your project is trying to answer. These will reflect the aim of your project, but will be different in that they explain the problem you are attempting to solve, e.g.,

Example 1:

The aim of this project is to develop software for the improved planning
of the routing of delivery vehicles to customer locations, that reflects
the forecast availability of each customer to receive goods.

Research question(s):
In order to demonstrate the achievement of the stated aim, this project 
will identify route planning software currently in use and the
underpinning algorithms, define appropriate performance metrics,
determine how to express constraints on an alternative algorithm, 
develop an improved algorithm and demonstrate on what basis it is judged
an improvement, and implement the improved algorithm in a usable and
robust software package.

Example 2:

The aim of this project is to develop a business strategy for organisation
X that will improve the survivability of X in the face of increasing
global competition.

Research question(s):
In order to develop a business strategy it will be necessary to identify
key stakeholders and determine their vision for the organisation at the
end of the strategic planning time frame, assess the likely outcome, in
terms of the organisation's survivability, of maintaining the current
strategy, and develop and assess an alternative set of activities to
achieve the stated vision.

The "Specification & Design"

The purpose of the Specification and Design sections is to give the reader a clear picture of the system you plan to create, in terms of the capability required. A specification should tell the reader what the software system is required to do. The design then gives the top-level details of how the software system meets the requirement. It will also identify constraints on the software solution, that are important in guiding decision making throughout the development process.

Describing what a software system does (specification) and how it does so (design) effectively usually means describing it from more than one viewpoint. Each viewpoint will convey some information about the system that other viewpoints omit. (You would use the same technique when describing any complicated construction such as a building, an aircraft, a novel or a painting). Possible viewpoints might be:

  • the business model the software supports,
  • the user interface,
  • the dynamic behaviour of the system,
  • how data flows through the system,
  • what data types are implemented in the system,
  • what algorithms are implemented in the system,
  • the static architecture of the system, i.e. how the code is partitioned into modules, etc.

A common approach is to first define the user or business requirements, then describe the static architecture, identify modules and groups of closely connected modules, and then to apply other views to each of these groups. Fine details, specifically details of code, should be left out.

We strongly recommend that you make extensive use of diagrams, such as entity-relationship diagrams, UML diagrams, state charts, or other pictorial techniques.

As well as describing the system, it is important that you justify its design, for example, by discussing the implications of constraints on your solution and different design choices, and then giving reasons for making the choices you did. Typically these implications will relate to the aims of the project and to aspects of it discussed in the Background section.

The design of the system will almost certainly have evolved while you were developing it. Obviously you should describe its final state but often there are good reasons for describing intermediate states, too; for example, if you want to discuss the details of the design method used or to highlight learning that you later refer to in the Reflection section. If you do this, take special care to make sure the reader does not get confused between different stages of the design.

If you are not designing a system, but testing a hypothesis for a more scientifically oriented project, specification and design sections may not be required in quite the same form. The specification instead becomes a description of the problem and what is required of a solution. The design becomes a description of your approach to solving the problem and your suggested solution(s). For instance, if you are designing an algorithm to solve a particular problem you would have a problem statement section and then a section describing one or more suggested algorithms to solve the problem. Later in the Results and Evaluation section you then describe how to design experiments to test how well the algorithm(s) solve the problem and present your experimental results with an evaluation of your suggested solutions.

The "Implementation"

The Implementation section is similar to the Specification and Design section in that it describes the system, but it does so at a finer level of detail, down to the code level. This section is about the realisation of the concepts and ideas developed earlier. It can also describe any problems that may have arisen during implementation and how you dealt with them.

Do not attempt to describe all the code in the system, and do not include large pieces of code in this section. Complete source code should be provided separately. Instead pick out and describe just the pieces of code which, for example:

  • are especially critical to the operation of the system;
  • you feel might be of particular interest to the reader for some reason;
  • illustrate a non-standard or innovative way of implementing an algorithm, data structure, etc.

You should also mention any unforeseen problems you encountered when implementing the system and how and to what extent you overcame them. Common problems are:

  • difficulties involving existing software, because of, e.g.,
    • its complexity,
    • lack of documentation;
  • lack of suitable supporting software;
  • complications with specific hardware or software platforms;
  • over-ambitious project aims.

A seemingly disproportionate amount of project time can be taken up in dealing with such problems. The Implementation section gives you the opportunity to show where that time has gone.

The "Results and Evaluation"

In this section you should describe to what extent you achieved your goals.

You should describe how you demonstrated that the system works as intended (or not, as the case may be). Include comprehensible summaries of the results of all critical tests that were carried out. You might not have had the time to carry out any full rigorous tests - you may not even got as far as producing a testable system. However, you should try to indicate how confident you are about whatever you have produced, and also suggest what tests would be required to gain further confidence.

This is also the place to describe the reasoning behind the tests to evaluate your results, what tests to execute, what the results show and why to execute these tests. It may also contain a discussion of how you are designing your experiments to verify the hypothesis of a more scientifically oriented project. E.g., describe how you compare the performance of your algorithm to other algorithms to indicate better performance and why this is a sound approach. Then summarise the results of the tests or experiments.

You must also critically evaluate your results in the light of these tests, describing its strengths and weaknesses. Ideas for improving it can be carried over into the Future Work section. Remember: no project is perfect, and even a project that has failed to deliver what was intended can achieve a good pass mark, if it is clear that you have learned from the mistakes and difficulties.

This section also gives you an opportunity to present a critical appraisal of the project as a whole. This could include, for example, whether the methodology you have chosen and the programming language used were appropriate.

The "Future Work"

It is quite likely that by the end of your project you will not have achieved all that you planned at the start; and in any case, your ideas will have grown during the course of the project beyond what you could hope to do within the available time. The Future Work section is for expressing your unrealised ideas. It is a way of recording that 'I have thought about this', and it is also a way of stating what you would like to have done if only you had not run out of time (Remember to take into account Hofstadter’s Law: 'Everything takes longer than you think, even when you take into account Hofstadter's Law.'). A good Future Work section should provide a starting point for someone else to continue the work which you have begun.

The "Conclusions"

The Conclusions section should be a summary of the aims of project and a restatement of its main results, i.e. what has been learnt and what it has achieved. An effective set of conclusions should not introduce new material. Instead it should briefly draw out, summarise, combine and reiterate the main points that have been made in the body of the project report and present opinions based on them.

The Conclusions section marks the end of the project report proper. Be honest and objective in your conclusions.

The "Reflection"

We believe in the concept of “lifelong learning”. One of the principles applied throughout the assessment during your studies is that of the value of reflection. We believe that it is important that we reflect upon our performance in order to identify “transferable learning”, that can be carried over into future activities. Reflection should focus on what Argyris calls “double loop learning”; this is where we identify, not relatively “simple skills”, such as the mastery of a new programming language, but the impact of what we have done on the assumptions, concepts and ideas we used to make decisions about our work. For example, a “reflective practitioner” would try to identify the characteristics of the problem that has been addressed, and consider whether assumptions or decisions about the relevant approach to solving that problem had been appropriate, in order to make a better decision in relation to problems that might be encountered in the future.

The "References"

We said that you should relate your work to that of other people. Other work explicitly cited should be listed in the Reference section and referred to in the text using some kind of key. It is important that you give proper credit to all work that is not strictly your own, and that you do not violate copyright restrictions.

It may be desirable to provide a Bibliography section separately from the reference section. In general, references are those documents/sources cited within the text. The bibliography lists documents which have informed the text or are otherwise relevant but have not been explicitly cited.

References should be listed in alphabetical order of author's surname(s), and should give sufficient and accurate publication details. For example,

Chikofsky, EJ, Cross, JH. 1990. Reverse Engineering and Design
Recovery: A Taxonomy. IEEE Software, 7(1):13-17.

Date, CJ. 2000. An Introduction to Database Systems, 7th Edition.

are acceptable references.

There are various conventions for quoting references. For example, you can quote the name of the author and the year of publication, e.g.

For more information see [Chikofsky et al, 1990]. A more detailed
description is given by Date [2000]. 

There are several other variations. For example, some authors prefer to use only the first three or four letters of the name, e.g. [Chi1990] or just to number the references sequentially, e.g. [3]. It can be helpful to the reader if, for books and other long publications, you specify the page number too, e.g. [Date 2000, p. 23].

Whatever convention you choose, be consistent.

Information Services provide a number of leaflets which describe in detail accepted ways of presenting references. For example, guidance on the Harvard Style of citing and referencing may be viewed at

Whatever style of referencing you adopt, it is critical that you are assiduous in acknowledging the sources you have used; failure to do so may lead to suspicions of unfair practice and an investigation into whether or not your work reflects the standards expected of academic research. Guidance on plagiarism and how to avoid it is available at

Note that it is seldom sufficient to simply “cut and paste” material from other sources. When you take material from someone else's work, you are doing so because it helps support your argument, or justify decisions you are making. It is therefore essential to make it clear why you have included material from other sources; in other words, you need to critically assess the work of others, whether it is supporting your position or not:

  • If the material you are citing from another source supports your position, you must explain why it should be trusted. For example, material from a published journal will, normally, have been peer-reviewed and can therefore be considered to have some validity, according to subject matter experts. Much of what is published on the Internet cannot be regarded in the same way, however.
  • You will often find that there are conflicting views in the published material; in such cases you must explain which view you favour and why, before relying on the material to support your position.
  • If other writers have taken a different position to the one you support, you must explain why the reader should accept your ideas rather than those proposed elsewhere.

In summary, you need to ensure that you have clearly assessed the relevance of referenced material to the development of your position, or your argument, and demonstrated that you are justified in taking this material to be authoritative.

Writing the Project Report

Once you have gathered and organised enough material you can turn it into written prose. To write effectively requires sustained concentration over long periods of time. Even with the incremental authoring possibilities that word processing offers, writing is best done in long uninterrupted sessions. Most people find it difficult and tiring.

There are rules you can follow which may make the task easier and which will certainly improve the quality of your writing, but unfortunately there are rather a lot of these and in a guide of this size we can only offer a few pieces of general advice:

  • keep your potential readership in mind;
  • identify commonality;
  • use sections and subsections to structure your work and to provide appropriate breaks for the reader;
  • do not include “padding” - include only what is necessary to “tell the story” and justify your work;
  • follow appropriate academic and professional stylistic conventions. We recommend that you read journal papers relevant to the general area of your project, as well as project reports held in the library and online; this is a normal research activity.

The project report's structure does not necessarily dictate the order in which you write it. If you want you can start by writing the Introduction, then the Background section, and so on, but this is up to you. Some people start by writing the Introduction first which gives direction to writing the other sections, but others prefer to leave writing the Introduction until last, as reports rarely turn out as planned. We recommend that you start with the middle sections, then write the Introduction (guiding the reader to what they will find in the report), then the Conclusions (bringing the report together at the end) and Reflection, and finally the Abstract (summing up the entire report). However you tackle the writing up, we recommend that you:

  • write as you go along, rather than leaving all the writing until last (writing takes longer than you think, and is best done when the ideas remain fresh in your mind);
  • leave time for someone you trust to proof-read your work, and for you to correct errors (it is not your supervisor’s responsibility to correct your written English);
  • read your work out loud to yourself. There are many advantages to this, not least the realisation that if you run out of breath your sentences are probably too long. Mainly, however, if you read “silently”, you will tend to read what you meant to write, rather than what you have in fact written, and will run the risk of missing errors.

Potential Readership

Always keep your potential readers in mind and repeatedly review what you have written, putting yourself in their place. Look at the draft, sentence by sentence, and ask yourself: 'Will this make sense to the readers given their existing knowledge and what I have told them up to now?' You can consider the potential readership as

  • your academic supervisor,
  • your project moderator/internal examiner,
  • the external examiner (usually a computing professor from another university),
  • and quite possibly future students and others interested in the topic.

So, as noted earlier, do not explain things which are common knowledge to such readers.

Also, if your project report is of sufficient quality, your supervisor may consider submitting part of it to a journal for publication as a paper, in which case it may eventually be read by a substantial number of computing and other professionals.

Identifying Commonality

You can often both clarify text and reduce its bulk if you can identify generality or commonality among the ideas you are expressing. You can then revise the text so that the common factors are described first, followed by details of how specific individual ideas differ from them.

Sections and Subsections

The main body of the project report should be divided up into sections, along the lines suggested in Arranging Material and Structuring the Project Report or otherwise, as appropriate. Each section should, if necessary, be divided up into subsections, and so on recursively. Such nesting can be used to suggest some kind of hierarchical relationship between sections. This can become obscure though if the nesting gets to more than about three levels deep.

It is important that you start each section and subsection with a summary of the rest of the material in it, i.e. inform the reader of what you are about to tell them. This has the effect of “softening up” the reader so that when they move on to the body of the section they feel confident about the direction in which you are taking them. They are reassured at regular intervals when they encounter ideas that you have told them to expect. Without the overview the overall effect is like a mystery tour of ideas, with each new idea coming as a surprise. It is sometimes difficult to appreciate the need for this when you are the author because you are already intimately familiar with the whole route that the report takes.

Each major section should begin on a new page. All sections and subsections should be numbered and headed. Numbering should be like this: 3.10.7 – for subsubsection 7 in subsection 10, in section 3.

Stylistic Conventions

There are all kinds of stylistic conventions relating to technical writing that you should try to follow. For example:

  • do not use shortened forms such as “don't” for “do not”;
  • avoid colloquialisms and slang words;
  • use British English and write in complete sentences;
  • divide your writing up into paragraphs;
  • generally, you should write in the “third person”. The “first person” can be used, to avoid the report becoming stilted, though it is recommended that its use be limited; for example, it may be appropriate to use “I” when stating an opinion rather than the common “It is the author’s opinion…”.

Writing where the language style or typography, e.g. font or character size, change arbitrarily looks amateurish and can be very distracting for the reader. Use typography to support the content. Other places where consistency should be maintained include:

  • bullet points,
  • use of hyphens,
  • use of capitalisation,
  • technical terms,
  • abbreviations,
  • use of symbols.

To some extent you can use your own judgement about what conventions to follow. Whatever you do though, you must be consistent.

Using Descriptive Devices

Here we mention some well-established descriptive devices which you can use in your project report to improve its quality.


Cross-references are just references to other parts of the same document. For example,

This module contains procedures for operating on variables of type WINDOW (see Section 2.2).

Section numbers will change if sections are added or deleted. Good typesetting or word processing software provides suitable mechanisms to automatically number sections and create such references such that they will always refer to the intended section. Make sure you know how your chosen software does this and select the right software to make this simple. If you use software that does not support cross-references or uses an overly complicated system, it is a good idea to wait until the report is almost complete before putting in any cross-references.

Backward references to sections earlier in the project report can make explicit connections between parts of the document that may not be connected obviously. Forward references can be used, for example, to reassure the reader that you are not going to leave them stranded after you have introduced a new idea without explaining it. For example,

This procedure uses the Volestrangler algorithm (to be described in Section 4.3).

Note that too many forward references are probably an indication that the report could be organised better.


Many word processors have facilities for handling footnotes. By all means use them, in particular when you want to make a comment which is not strictly relevant or which would upset the flow of ideas in the text. If the comment is closely related to the text you may consider including it in parenthesis instead.


Traditionally, collections of items are listed within the text using the adverbs ‘firstly’, ‘secondly’, etc. Often, though, it is clearer to tabulate these items, particularly if there are many of them. The simplest way of doing this is to use a “bullet” list. Various examples of bullet lists appear on this wiki. Sometimes there is a need to nest one list inside another. To distinguish the two lists, the inner one can be indented and have a different symbol. Lists with more than one degree of nesting tend to appear confusing and therefore we do not generally recommend them.

Listed items can also be keyed using numbers, letters, or other labels. Bibliography entries are an example of keyed items (see References). However, keys should only be used when necessary.


A project report that uses figures (i.e. diagrams or other pictorial techniques such as tables) to illustrate ideas will probably be easier to digest than one that does not. We therefore recommend that you use figures wherever appropriate (If you have a graphical rather than a textual/verbal kind of mentality, a good way to write text is to express your ideas in diagrams first and then describe these textually).

Be careful though. When drawing diagrams try to keep to a standard graphical notation that has been introduced during your studies, or that you have seen published widely, and use it consistently. Computer Science, unlike most other professions, has few established conventions governing the use of diagrams and this means that diagrams can sometimes make ideas more obscure rather than clarifying them.

If you feel you have to invent your own notation, remember that the best ones are usually the most economical, i.e. they use only a few different kinds of symbols. Also, you must explain the precise meaning of your symbols in a key. A very common mistake is to use arrows to illustrate some kind of relationship between items without declaring what that relationship is.

Graphics editors (i.e. image processors) can be extremely useful, particularly if you have a great deal of drawing to do or if there is a lot if commonality among the drawings (because cut and paste operations can then be used with great effect). However, some artefacts are difficult to produce using standard software applications, and in such cases it is quite acceptable to present hand-drawn diagrams. To include these into your report you may use a scanner or even take a photograph (or multiple partial photographs that you merge afterwards) of the artefact and include it in your report as any other computer generated image (help from staff for this is available and you may bring the original artefact to the viva).

All figures should be labelled and captioned, for example,

Figure 3.10: Sub-System Architecture.

The label can then be used to refer to the diagram within the text, e.g.

See Figure 3.10.

All diagrams must be explicitly referred to somewhere within the text.

Similar to sections and subsections the labels may change if you insert additional figures or change the structure of the report. Again good typesetting software will support automatic label generation and keeping the references to the figures consistent (see Cross-references).

For some reports it may also be useful to distinguish between figures and tables and use separate labels for them (e.g. Figure 3.1 and Table 3.1 are two separate elements, sometimes also referred to as floats). Figures are diagrams, drawings, images, etc. while tables list information in a tabular layout, e.g. program running times for specific inputs.

Literal Text

It is important when writing about software systems to distinguish in the text between the ordinary natural language you are using and the program code or other literal text. If you are using a word processor which offers both proportionally spaced and fixed width character fonts then there is a straightforward way of doing this. Program code and other literal text can be written in a fixed width font such as “Courier New” while the natural language text can be written with a proportionally spaced font such as “Times New Roman”.

Other similar kinds of text, UNIX commands for example, can be treated in the same way. Some typesetting systems also offer to include “verbatim” text, which you can use to insert small code examples, examples of the output of a program, etc. They are also typeset in a fixed width font. Using a fixed width font means that the code appears in the document much as it would do on a console. If you only have fixed width characters available on your word processor then put program code etc. into italics or bold text.

Note that using more than a few different character fonts, styles or sizes can make text look very untidy. Generally we recommend to use, e.g., a serif font for the main text (or a sans-serif font, if you prefer), a fixed-width font for literal texts as above, and optionally one sans-serif font for headings and captions (this can also be the same font used for the main text). Emphasis can be indicated by italics (or slanted text) or for stronger emphasis use bold text. If you use more fonts you should have a very good reason for this to support the content.

Supporting Material

In Arranging Material and Structuring the Project Report we say that a project report consists of a main body plus other supporting material that surround and support the body. There are well established conventions governing the purpose and format of these supporting structures which we describe here. The structures include, in order of appearance in the project report:

  • the title page,
  • the abstract,
  • the acknowledgements,
  • a table of contents,
  • a table of figures.

Then comes the main body of the report, and this is followed possibly by:

  • a glossary,
  • a list of abbreviations,
  • one or more appendices,

and finally

  • the references and bibliography.

Each of the elements listed above should begin on a new page. All pages should be numbered, with page 1 being the first page of the Introduction. The pages preceding the Introduction should be given Roman numerals (i, ii, iii, iv, etc).

The Title Page

The title page should be the first page of the report and should normally include:

  • the title of the project report,
  • the name of the author,
  • the name of the project supervisor and moderator,
  • the qualification for which the project report is a part,
  • the name of the school and institution, e.g. School of Computer Science and Informatics, Cardiff University,
  • the date of completion of the project report.

The title itself should be short, yet should aim to describe the contents of the project report as accurately as possible.

The Abstract

This is a summary of the report. It must be less than 300 words long. It should give enough information to allow a potential reader to decide whether or not the report will be of interest to them. It should briefly describe the main ideas of the report, including the aims and conclusions. It should be both self-contained and self-explanatory, and it should not say anything not mentioned in the rest of the report (for this reason it is usually written last).


This optional section should be used to record indebtedness for the use of facilities or help from particular sources. You should mention any organisations or people who have helped you while you have been carrying out the project.

The Table of Contents and Table of Figures

The table of contents gives the reader a view of the detailed structure of the report, by giving section and subsection headings and associated pages.

If your project report contains many figures or it refers to the same figure many times you should consider listing them along with their page numbers in a table of figures.

The Glossary and Table of Abbreviations

If you use any abbreviations, obscure terms or esoteric acronyms in the project report then their meaning should be explained where they first occur. If you go on to use any of them extensively then it is helpful to list them all in a table at the end so that readers can quickly remind themselves of their meaning.

The Appendices

Appendices are where you present material which you want to include in the report, but which would seriously obstruct the flow of ideas if put anywhere in the main body. This could be extensive technical details or mathematical proofs, derivations of formulae, etc. required to support a point your are making in the report. Other documents you have written, such as user manuals, technical manuals or formal specifications should go here too.

Appendices should be headed by letters in alphabetical order, i.e. Appendix A, Appendix B, etc.

Our Main Recommendations

Here is a summary of our main recommendations for writing reports:

  • Record all relevant information generated by the project:
    • use a notebook,
    • keep a diary,
    • log debugging sessions.
  • Gather further material from publications or other external resources.
  • Organise the material into sections agreed with your supervisor,
    • e.g. “Background”, and so on.
  • Turn this material into written prose to form the project report's main body.
  • When writing the main body
    • keep your readership in mind;
    • identify commonality;
    • use sections and subsections;
    • follow stylistic conventions.
  • Where appropriate use
    • cross-references,
    • references,
    • figures and other descriptive devices.
  • Produce all required supporting structures according to convention, after completing the main body, and include this material in appendices to avoid disrupting the flow of your narrative.
  • For examples to follow, look at textbooks from reputable publishers, etc.
  • Discuss an outline of the project report with your supervisor before you begin to write up; this will help you to plan your project. However, we strongly recommend that you write up your work as much as possible as you carry out your project, rather than leaving the writing to last.

Typesetting Rules for Report Presentation

This is a list of general typesetting rules for the undergraduate final year project reports.


Ensure you stick to the word limit assigned for the specific report, as stated in the module guidelines. The word count does not include the supporting structures, but only the contents of the main report sections, excluding front-matter, figures and tables, and appendices. There is no minimum length but it is mainly through the report that your project will be judged so the report should adequately reflect the work done in the project.

Font Size

Reports should be typeset in a 12pt font.

Line Spacing

Reports should have single line spacing. The report should be economical on paper. It should not, for example, contain excessive amounts of whitespace. Only the major sections need to begin on a new page.


Reports should be typeset with some word-processing system, e.g. LaTeX, LibreOffice or Word. The final project report should be presented as a PDF file with any other documentation in the appendices of the report. Artefacts produced for the project that are to be processed by other software such as a compiler or interpreter should be submitted as separate file(s). If files are submitted as an archive, it should be in zip format (other formats can be uploaded, but will be converted automatically into zip by PATS). Typically this will be the source code for software developed for the project. For details see the Submission Guide.

Sources of Further Guidance

The guides on this wiki are not complete. Textbooks usually demonstrate good technical writing especially if they are produced by a reputable publisher. They also provide illustrations of the use of descriptive devices, etc.

Below is a list of other books and Internet resources, specifically designed to assist in writing essays and reports.

Finally, there will be specific aspects of your project reports that only your supervisor can advise you on. It is important that you discuss an outline of the reports with your supervisor before you begin to write up.


Bly, R. 10 Ways To Improve Your Technical Writing, Center for Technical Communication. [accessed January 2011].

Capital Community College Foundation. Guide to Grammar & Writing. [accessed January 2011].

Creme, P, Lea, MR. 2008. Writing at University: A Guide for Students. 3rd edition. Open Unniversity Press. Contains help for all aspects of writing while at university.

Document Foundation, The. LibreOffice Documentation. [accessed January 2011].

Duprė, L. 1998. Bugs in Writing: Guide to Debugging your Prose. 2nd edition. Addison-Welsey. Contains tips in small, individual chapters to improve your writing; a good reference book.

Fry, R. 2004. Improve Your Writing. 5th edition. Delmar Cengage Learning. This is a guide for students producing a written project. Easy to read, full of handy hints, and guides you through the whole process from carrying out research for your report through to producing the final draft.

Landsberger, J. Study Guides and Strategies. [accessed January 2011].

LaTeX Project Team. LaTeX - A document preparation system. [accessed January 2011].

Oracle. The Documentation Project. [accessed January 2011].

Strunk Jr, W, White, EB. 1918. The Elements of Style. WP Humphrey, Ithaca, NY. [accessed January 2011]. Excellent guide to good use of English, a classic reference book, meanwhile updated and republished many times.

Word MVPs. The Word MVP Site. [accessed January 2011].

Submission Guide

This explains how to submit the deliverables for your final year project. All deliverables must be submitted via PATS, except for physical artefacts (details below). For details of what needs to be included for the various deliverables, please see the guidelines specific to your final year project module. All submissions must contain at least one PDF file in the document section or they will not be accepted by PATS and so submission cannot be completed.

Online Submission

PATS enables you to submit nearly all parts of your project online. Each submission consists of a collection of files under the following sections:

  • Document files: These must be PDF files and each submission must have at least one of these files - this section is for the written report.
  • Appendix files: These are additional PDF files, not part of the document files, that form an extended appendix of your report. Including files here is optional and you can instead add a normal appendix to the document files. What is most suitable mainly depends on the nature of the files and your specific project.
  • Archive files: These are file archives to provide the sources or any other content collections such as a set of images, test cases, survey data for your project, that are relevant to your report. The archives can contain any file type and can have any arbitrary hierarchy. You can upload zip, tar.gz, tar.bz2 or tar.xz archives only. But for compatibility any non-zip file will be converted to a zip file. Providing files here is optional, but at least final report submissions are likely to require at least one archive, e.g. for the sources of your software.
  • Other files: Here you can upload any other files to support your report. This is provided to enable you to submit any special files for your project in special formats, etc. as an alternative to submitting these in an archive. Typically these would be files standing on their own in a special file format.

Note that, of course, not all file types need to be included with each submission. What is suitable depends on your project and your report and please discuss with your supervisor what you should be submitting if you are unsure.

To add files to these sections, press the related [Upload] link which opens a separate upload dialog. You can select more than one file at once to upload into a section in that dialog before you press the “Upload” button. Once you have uploaded a file you can view its type, file size, MD5 and SHA1 checksum via the provided link. You can use the MD5 or SHA1 checksum to verify the integrity of the file (also see checksums). You can further rename, delete and move the file up or down in the list in each section. You cannot move files between sections.

After you have uploaded at least one file to the document section you can complete the submission. This will generate a zip file containing all the files you have uploaded in all sections, sorted by these sections and in order they are displayed in the submission area. Your files count as submitted only after you have completed the submission. While files in the content area are visible to your supervisor and moderator, they cannot actually mark them.

You can resubmit at any time before the deadline (all deadlines are by 23:00 on the day shown). A resubmission will completely replace the previously submitted files and not extend the previous submission, so always upload all files into the submission area and then submit them all at once by completing the submission.

The system will keep the current and the previous submission archive. You can delete these archives at any time before the deadline and also download the archives to verify their contents. If you wish to check the archive before completing the submission, select the “Preview Submission” button.

Make sure you check the contents of any files you upload in the file submission area and especially the contents of the final submission archive. Files uploaded via the network may sometimes be corrupted and downloading them again to verify their content avoids any problems. To verify they files you may also use the MD5 or SHA1 checksums.

Your supervisor and moderator will be able to see any of the files you have in the submission area and your current and previous submission archive (unless you delete them).

See the PDF Guide for information on how to create a PDF file.

Physical Artefacts

Some projects may also produce physical artefacts without any digital versions of them. Hardware or similar physical objects do not need to be submitted, but should be available for demonstration at the oral examination and your report should contain sufficient information to rebuild these. Any manually created documentation necessary for your project should, however, be included in the archive in a digitised format.

Anything that fits on an A4 page or smaller can be scanned and directly included in the report as a figure. For documents larger than A4 we recommend taking photos of these and submit the image files via PATS. If a single photo is insufficient due to resolution limitations you can take multiple overlapping photos of the document and combine these into a single image. This applies in particular to large soft system models drawn manually.

In addition to the digitised version, the documents larger than A4 should also be handed in by the submission deadline to the COMSC office in a suitable envelope. On the envelope clearly write your name, the title of your project and the names of your supervisor and moderator. The document will not be archived, but used by your supervisor and moderator to decide your mark and will be available at the oral examination. It will be returned to you after the oral examination.

Assistance is available to create digital versions of such large documents from the project coordinators and the computer support officers. If you cannot take any suitable images of the document, contact them for assistance (to take one or multiple photos and merge them, etc.).

Submission Problems and Peace of Mind

After you submitted your files on PATS as an archive (not just uploaded them into the submission area) your project report or plan counts as submitted and you do not have to do anything else. We do not expect any problems with the network connection, the server or the integrity of your submitted file. However, to avoid any problems with the integrity of your submission and to deal with any problems arising from the server, the Internet connection or anything else that prevents you from submitting the project in time (i.e. on the day of the submission deadline), please follow these instructions:

  • Put all the files you wish to submit into some archive file (similar to the submission archive generated by PATS).
  • Compute an MD5 checksum of this archive file and store the checksum in a separate file.
  • Carefully preserve the archive you have submitted or intend to submit in its original form and the MD5 checksum file. For this you may for instance burn it on a CD or DVD.
  • Send the MD5 checksum by e-mail to the project coordinator with the title “Final Year Project MD5 Checksum” from your university e-mail account. The e-mail must be sent before the submission deadline and all e-mails will be acknowledged. If you do not have e-mail access, print out the MD5 checksum and hand it in at the COMSC office with your name and project title (again latest by deadline, but note that the closing times of the office on the day).

While the procedure is optional it avoids any problems arising from the online submission. If you provide an MD5 checksum, then the following applies:

  • If you have submitted your project online, we will contact you by e-mail in case the MD5 checksum you have submitted does not match the checksum of the submission archive. In this case the submitted archive may be replaced by the archive with that checksum. This is to ensure the integrity of the archive.
  • If for whatever reason you did not manage to submit the project online by the deadline, the MD5 checksum (submitted before deadline) can be used to verify that the archive has been generated before the submission deadline. In this case you can hand-in the archive (e.g. on a CD or DVD) or upload the archive later. Obviously the late submitted archive must produce the same MD5 checksum. You will automatically be contacted if you have send an MD5 checksum and no archive has been submitted. This is to avoid problems that may arise from server problems, network connection problems, etc.

For details on how to generate MD5 checksums, etc. please see checksums

You are free to use any file types as long as they are suitable for the submission section. However, in general we recommend the following file formats, unless there is a good reason for your project to use a different format:

  • Documents: Whenever possible use PDF. You may include the original document files used to generate the PDF in the “Other” section. Note, the main report and the appendices must be in PDF format.
  • Sources: Sources, interpreted files, HTML files, etc. should usually be plain text files encoded in ASCII, UTF-8 or ISO 8859-1 (latin1). Other standard text encodings may be used, if necessary.
  • Images: The JPEG or PNG formats are preferred, for compatibility. An image quality of 90% is usually sufficient for JPEG.
  • Video: Use QuickTime, MPEG or DivX formats. The H.264 and MJPEG codecs are preferred, for compatibility and quality. Usually the resolution does not have to be greater than 720p (1280×720 pixels).
  • Audio: Use OGG or MP3 for lossy compression or FLAC for lossless compression. For MP3 a sampling rate of 32kbps is sufficient for voice and analog tape recordings, 128 to 192kbps should be used for CD quality and 192 to 320kbps should be used for complex audio sources (containing a broad spectrum of frequencies). For OGG a quality 0 is sufficient for voice, quality 6 should give you roughly good CD quality and higher qualities (up to 10) should be used for complex audio sources only.

PDF Generation Guide

This section describes how to prepare PDF files for your final year project. Independent of the program you are using to write the document and create the PDF file, the PDF file must fulfil the following conditions:

  • It must be compatible with Acrobat 5, PDF version 1.4.
  • All of the typefaces used in your document must be embedded in the PDF file, except for the standard PDF fonts. Embedding the standard PDF fonts is optional. The 14 standard PDF fonts are Times–Roman, Times–Bold, Times–Italic, Times–oldItalic, Helvetica, Helvetica–Bold, Helvetica–Oblique, Helvetica–BoldOblique, Courier, Courier–Bold, Courier–Oblique, Courier–BoldOblique, Symbol, ZapfDingbats.
  • The PDF file must not contain any malicious software. In general there is no need to embed any scripts at all.

We also recommend that you turn off any additional image compression during the PDF generation to preserve the original image quality. Furthermore, the PDF file should be generated for 300dpi or higher (print or prepress settings are ok). Screen resolutions, etc. may be of insufficient quality to easily read or print your documents.

The method you choose to create your PDF file is up to you, of course. However, there are several methods that most people use as described below. Following these methods will ensure your document fulfils the above conditions.

Once you created the PDF file you are highly advised to carefully proofread the resulting PDF file using acroread, available at (also installed on all COMSC computers). In particular check that the PDF file does not differ from the original file in any significant way.

TeX and LaTeX

If you are using TeX or LaTeX there are two basic options to create a PDF file: directly generate the PDF file with PDFTeX / PDFLaTeX or create the PDF file from a DVI file. For special TeX frontends and implementations for various platforms, commercial version, etc. you should refer to the documentation of these programs.


We recommend to use PDFTeX / PDFLaTeX directly by calling pdflatex or pdftex command to create a PDF file. Note that there are some small differences between these commands and the original latex or tex commands, which produce DVI files. To avoid any problems you should choose which version you use before you write the complete document.

TeX and LaTeX with DVI files

The standard version of TeX and LaTeX produce DVI files. To generate acceptable PDF files from these, first convert the DVI file to PostScript with the following command:

dvips -Ppdf -G0 -t a4 -o FILE.dvi

Then you should run the ps2pdf program to create the PDF file from the PostScript file:

ps2pdf  -dPDFSETTINGS=/prepress \
        -dCompatibilityLevel=1.4 \
        -dAutoFilterColorImages=false \
        -dAutoFilterGrayImages=false \
        -dColorImageFilter=/FlateEncode \
        -dGrayImageFilter=/FlateEncode \
        -dMonoImageFilter=/FlateEncode \
        -dDownsampleColorImages=false \
        -dDownsampleGrayImages=false \ FILE.pdf

Microsoft Word

There are various ways to generate a PDF file under Microsoft Word. The following three sections describe the most common options.

Save as PDF

Newer Word programs offer under the save menu point the option to save the file as a PDF file. You may have to install a separate option in order for this to work. In general this may be best best option to generate a PDF. Make sure you turn off image compression and select at least 300dpi resolution.


PrimoPDF is a free program available at It installs a PDF printer which can be used to generate the PDF file as well. For details on how to use it see its documentation.

LibreOffice / OpenOffice

If you are using OpenOffice to write your report export the file in PDF format using the File → Export As PDF … menu. Under the options window provided you do not need to select any of the special options. But make sure you turn off JPEG compression by selecting lossless compression to avoid image quality problems and we also do not recommend reducing the image resolution.

File Checksums

A checksum (or hash) is a datum computed from digital data to verify the integrity of that data. Typically you use a program to compute the checksum of a file. Then after this file has been transmitted to some other location the same checksum algorithm is used to compute the checksum there. If the two checksums are the same, it is unlikely that the data has been changed during transmission.

You can use MD5 or SHA1 checksums to verify the files you submit via PATS in this way. We also use it to enable you to hand in a submission late, while you can prove that is has been generated before the deadline. For this you simply have to send the checksum to use before the submission deadline. Read the Submission Guide for details.

Below you find instructions of how to generate MD5 and SHA1 checksums.

Creating MD5 Checksums

It is usually sufficient to use MD5 checksums and by default we expect you to submit an MD5 checksum. It looks something like this:


Please make sure you submit the hexadecimal MD5 sum.

In order to generate such a checksum you may use the following MD5 checksum generators:

Creating SHA1 Checksums

Alternatively you can also use SHA1 checksums. A SHA1 checksum looks something like this:


In order to generate such a checksum you may use the following SHA1 checksum generators:

Other Checksums

In exceptional circumstances alternative checksums that are at least as reliable as an MD5 checksum may be acceptable (e.g. GNU-PG/PGP file signatures). But please contact Frank Langbein early if you intend to use one of these checksum mechanisms.

cm3304_guide.txt · Last modified: 2018/05/15 14:04 by scmfcl