skip to content

Department of Computer Science and Technology

 

The dissertation should be written for a reader who has an undergraduate-level general background in Computer Science, but who is not necessarily an expert in the specific branch of Computer Science you are working in. Better grades will arise from clarity and ease of reading, good pictures, clear explanations, minimal jargon and appropriate use of equations. Writing a dissertation requires planning and time. You should allow at least four to six weeks for the task.

Dissertation PDF files must be

  • formatted for A4 paper;
  • typeset in 12-point font with a minimum of 2 cm margins;
  • less than 15 megabytes in size;
  • (ideally) use embedded fonts.

The main body of the dissertation, running from the first page of the introduction until the last page of the conclusions, shall not exceed 40 pages nor exceed 12,000 words in length (including tables and footnotes). Students should ensure the main body of their dissertation (page 3 onwards) as well as any appendices do not contain direct personal identifiers (i.e. their name or their CRSID).

Examiners and Assessors are only required to read your dissertation and might not look at your code, although they will require your original source code to be available for them to refer to in cases where clarification is needed.

To facilitate the assessment process, the Examiners require the top-level structure of the dissertation to be strictly as follows:

  • Cover page
  • Declaration of originality
  • Proforma
  • Table of contents
  • Chapter 1: Introduction
  • Chapter 2: Preparation
  • Chapter 3: Implementation
  • Chapter 4: Evaluation
  • Chapter 5: Conclusions
  • Bibliography
  • Appendices
  • Project Proposal

Although the Cover Sheet, the Proforma, and the chapter titles are tightly specified, the structure within each chapter and the length of each of the five chapters are allowed to vary considerably from one dissertation to another. It is worth keeping in mind the marking scheme, which allocates a particular number of marks to specific chapters, so you should make sure each chapter contains sufficient detail to score good marks.

Your dissertation is marked twice: once by your Marking Supervisor, and a second time by an Examiner. The Examiner marks it anonymously to avoid bias. Your dissertation should therefore not contain your name, your CRSID, your college, or anything else that gives away your identity. Please ensure you anonymise the copy of the original project proposal that you include as an appendix. Please check any screenshots, file paths, and other examples that appear in your dissertation or source code submission to ensure they don’t inadvertently contain your name or CRSID. If you want to include URLs to your work, please create them under a pseudonymous username.

The cover page

The single cover page contains

  • Your Blind Grading Number (BGN), in the extreme top right-hand corner.
  • The title of your dissertation.
  • The examination for which you are a candidate.
  • The year in which you are submitting the dissertation.

Your project title must be the same as the title on your project proposal. If you want to change the title you should first discuss this with your Day-to-Day Supervisor and Marking Supervisor. If your Supervisors are in agreement you will need to request a change by contacting the Teaching Administration Manager with a brief explanation for the reasons behind the change (undergraduate-teaching-manager@cst.cam.ac.uk). Please also copy teaching-admin@cst.cam.ac.uk in to this email. This will be approved by the Teaching Administration Manager and Chair of Examiners.

Declaration of originality

All reports must include an anti-plagiarism declaration as a separate page. The declaration must have exactly the following syntax:

I, the candidate for Part II of the Computer Science Tripos with Blind Grading Number [insert BGN here], hereby declare that this report and the work described in it are my own work, unaided except as may be specified below, and that the report does not contain material that has already been used to any substantial extent for a comparable purpose. In preparation of this report, I adhered to the Department of Computer Science and Technology AI Policy. [The project required the approved use of [insert name of technology] and such use is acknowledged in the text at the relevant sections.] [I am content for my report to be made available to the students and staff of the University.]
Date [date]

Further guidance relating to the use of AI-assisted tools can be found on the exams guidance web page.

The University drafted the wording, which is similar to that relating to dissertations in a wide range of subjects; thus the "unaided except as may be specified below" clause merits some explanation:

  1. The clause does not require acknowledgement of the project supervision or informal conversations with peers.
  2. The clause is also intended to cover collaborative projects which are not currently permitted in Computer Science. As such this aspect is irrelevant to Computer Science dissertations.
  3. This clause aside, and notwithstanding 1 and 2, candidates are required to draw attention, in the Implementation chapter, to the parts of the work which are not their own, in accordance with the Implementation section below. Other acknowledgements should be given wherever appropriate.

The Department would like to make past dissertations available to staff and future students for teaching purposes and for your reference. These will be hosted on the Computer Science Departmental website under password protection. You should include the last sentence of the declaration if you are willing for your dissertation to be made available for these purposes; otherwise you may remove it. Note: If in the future you would like your dissertation removed from the departmental website, you can request this by contacting the Student Admin office at teaching-admin@cst.cam.ac.uk.

The proforma page

The single proforma page is a preface that immediately follows the declaration of originality. It must be arranged as follows:

  • Your candidate number (BGN).
  • The title of your project.
  • The examination and year.
  • Word-count for the dissertation.
  • Code line count: Number of lines of code that you wrote yourself in the final version of their software (not counting existing library code or automatically generated code).
  • Name of the project originator (if this is you, please state 'The candidate').
  • Names of the Day-to-Day Supervisor and Marking Supervisor.
  • Whether approval from the Departmental Ethics Committee was requested, whether it was approved, and the Ethics Committee case number if applicable.
  • At most 100 words describing the original aims of the project.
  • At most 100 words summarising the work completed.
  • At most 100 words describing any special difficulties that you faced. (In most cases the special difficulties entry will say "None".)

It is quite in order for the Proforma to point out how ambitious the original aims were and how the work completed represents the triumphant consequence of considerable effort against a background of unpredictable disasters. The substantiation of these claims will follow in the rest of the dissertation.

Student Administration will ask students to resubmit any dissertation that does not include the relevant cover page, declaration and proforma. If such a resubmission occurs after the deadline this will result in a late submission penalty.

Table of contents

This should list the contents in some sensible way.

Introduction

The introduction should explain the principal motivation for the project, show how the work fits into the broad area of surrounding computer science, and give a brief survey of previous related work. It should generally be unnecessary to quote at length from technical papers or textbooks. If a simple bibliographic reference is insufficient, consign any lengthy quotation to an appendix.

Preparation

Principally, this chapter should describe the work you undertook before writing code, building hardware, or working on theories. It should show how you further refined and clarified the project proposal, so that the implementation stage could go smoothly rather than by trial and error.

Throughout this chapter and indeed the whole dissertation, it is essential to demonstrate that you employed a proper professional approach.

The nature of this chapter will vary greatly from one dissertation to another but, underlining the professional approach, this chapter will very likely include a section headed "Requirements Analysis" and refer to appropriate software engineering techniques used in the project. The chapter should also cite any new programming languages and systems that you had to learn and mention complicated theories or algorithms you had to understand.

It is essential to declare your starting point, that is, any existing codebase or materials that your project builds on. The text here can commonly be identical to the text in your proposal, but it may enlarge on it or report variations. For instance, the true starting point may have turned out to be different from that declared in the proposal and such discrepancies must be explained.

Implementation

This chapter should describe what was actually produced: the programs you wrote, the hardware you built, or the theory you developed. You should describe any design strategies or software engineering approaches you used, including looking ahead to the evaluation stage, in order to demonstrate a professional approach was taken.

Descriptions of programs may include fragments of high-level code but large chunks of code are usually best left to appendices or omitted altogether. Analogous advice applies to circuit diagrams or detailed steps in a machine-checked proof. You will submit your source code as a separate file alongside your dissertation.

The implementation chapter should include a section labelled "Repository Overview". The repository overview should be around one page in length and should describe the high-level structure of the source code found in your source code repository. It should describe whether the code was written from scratch or if it was based on an existing project or tutorial. Making effective use of powerful tools and pre-existing code is often laudable, and will count to your credit if properly reported. Nevertheless, as in the rest of the dissertation, it is essential to draw attention to the parts of the work that are not your own.

It should not be necessary to give a day-by-day account of the progress of the work but major milestones may sometimes be highlighted with advantage.

Evaluation

This is where Assessors will be looking for signs of success and for evidence of thorough and systematic evaluation. Sample output, tables of timings, screenshots, plots of data, and other measurements or metrics may be included. Care should be employed to take a professional approach throughout. For example, a graph that does not indicate confidence intervals or has poorly chosen axes will generally leave a professional scientist with a negative impression. As with code, voluminous examples of sample output are usually best left to appendices or omitted altogether.

The questions this chapter needs to address include: How many of the original goals were achieved? Were they proved to have been achieved? Did the program, hardware, or theory really work?

Assessors are well aware that large programs will very likely include some residual bugs. It should always be possible to demonstrate that a program works in simple cases and it is instructive to demonstrate how close it is to working in a really ambitious case.

Conclusions

This chapter is likely to be very short and it may well refer back to the Introduction. It might offer a reflection on the lessons learned and explain how you would have planned the project if starting again with the benefit of hindsight.

Bibliography

It is common, but not mandatory, to have a bibliography to cite any references you used or any related work you mention. You should give attention to correct and consistent formatting.

Appendices

It is optional to have one or more appendices. These do not contribute to your mark, and the assessors are under no obligation to read them. There is no need to include source code as an appendix, since you submit the source code as a separate file alongside the dissertation. However, an appendix can be a place for supplementary information that might be important for some readers, such as the exact wording of a survey you used in your evaluation, or details of a proof or mathematical derivation that are too long for the main dissertation chapters. The 12,000 word limit does not include material in the appendices, but only in extremely unusual circumstances may appendices exceed 10-15 pages. Appendices should appear between the bibliography and the project proposal.

Project Proposal

A copy of the original project proposal must be included at the very end of the dissertation. It must be anonymised by replacing your name with your Blind Grading Number, and omitting your email address/CRSID and College.