MSc Projects
Overview
As part of their MSc studies, all students undertake a substantial Computer Science project, resulting in a dissertation. The projects are guided by at least one supervisor from the School.
Dissertation projects will involve various sets of skills and explore various areas of computer science. They may be very technical, or very mathematical, or involve design and interviews, focus on system building, or involve detailed analysis of existing solutions. However, they are all expected to be equally difficult, and of equal quality.
The dissertation also has to be clearly related to the specific MSc programme, e.g. an MSc AI dissertation has to fall broadly into the area of AI, and an MSc HCI dissertation should be related to human-computer interaction.
The development and supervision process is decided by the student and supervisor but will involve regular meetings to decide direction and monitor progress. Each student is responsible for managing and completing their project.
There are deliverables due at fixed points throughout the project, but marking is holistic. The outcome will be an artifact such as a product, software, or a formal system. Although many projects involve software development, this is not a requirement.
Although many dissertations create exciting new results, the projects are not expected to advance the state of the art the way PhD theses are. However, there has to be a novel element to the work, not simply repeating existing work. It is important that it is challenging enough and demonstrates your ability to apply CS skills gained through your degree to a large, complex problem.
Most of the information on MSc project modules is common to other modules: make sure you read carefully the generic projects page.
MSc dissertation modules
CS5099 - Dissertation in computer science (60 credits)
- Individual project carried out over the summer (May-Aug).
CS5098 - Group project and dissertation in computer science (60 credits)
- Group project carried out over the summer (May-Aug).
- Project work involves collaboration with other students, but dissertation is written individually.
For information on CS5199 see the MSci project page. For information on CS4099, CS4098 and CS4796 see the SH project page.
Location of studies
The policy on Location of Studies applies for the entire duration of the MSc programme, including the summer dissertation period.
Under the policy, you must live within “commutable distance from St Andrews” over the dissertation period, which is loosely defined as you being able to attend the School on a daily basis if required, and more formally as within 75 miles of St Andrews.
If you wish to be further away from St Andrews for more than 10 consecutive days, you must obtain formal approval in advance via the Director of Postgraduate Teaching, having first obtained the approval of your supervisor.
Note also that the policy states that “Overseas students must seek expert advice on the conditions of their visa prior to leaving the UK for any reason”.
Project allocation process
Allocation for CS5099/CS5098 typically takes place in early S2. Your dissertation project may be completed individually (CS5099), or may be part of a larger project which involves group work (CS5098). In both cases, you will write an individual dissertation, which is marked individually. Allocation centres around the project proposals list.
Staff advertise projects on the list and students can look for interesting projects. Students should come up with a shortlist of projects and contact the supervisors directly to discuss the project, the requirements (background knowledge and experience, what is expected in terms of programming or maths, supervision style, etc.). Keep in mind that some supervisors get many requests from students and that there is a limit per supervisor. Typically the mean number of students per supervisor is around three.
Once both the supervisor and the student agree, the student should email the project coordinator (and CC all supervisors) to register this choice. The final allocation is done by the project coordinator. The allocation is not finalised until the project coordinator confirms the allocation.
The list allows sorting based on topics, modules, and tags, but these are meant mostly for guidance, so do approach a supervisor if you are interested in a topic even if your module is not explicitly listed.
Self-proposed projects
A small but significant number of students choose to propose their own project. This is fine, but is a bit more involved because the original idea often needs to be refined together with a potential supervisor to make sure that it is relevant, doable, and challenging. Make sure to leave some extra time if you decide to go down this route – don’t leave it to the last moment! There is no automatic right to do a self-proposed project; a project can only be done if a supervisor agrees to supervise it.
In this case, the student writes a 1-2 page summary of what they propose to do, how they propose to do it, and what the outcome will be. Then they can contact a potential supervisor (typically someone with expertise in the topic) asking them to supervise. If you are not sure who would make the best supervisor for a particular topic, contact the project coordinator to make some suggestions.
Once the project is agreed, email the coordinator (and CC the supervisors) as before.
Supervision meetings
You must attend regular supervision meetings with your supervisor, starting at the beginning of the dissertation period (week beginning 26th May). Usually meetings will be held every week in the early stages of the project, and again toward the end of the dissertation period. In the middle part, meetings may be a little less frequent if you and your supervisor both agree, but should still be held at least every two weeks.
At least four of the supervision meetings, well spaced over the dissertation period, must be held in-person, as part of the School’s engagement monitoring process. Beyond this, supervisors have discretion to meet online if they consider it appropriate, or to require students to meet in-person.
Staff are strongly encouraged to take holiday leave during the summer, and may also travel for research purposes, so it’s likely that your supervisor will be away for parts of the period. If necessary they will arrange for another staff member or a research student to provide informal supervision during their absence.
Supervisors will record meeting attendance in MMS. These records will be monitored and academic alerts will be issued for unapproved absences.
It’s your responsibility to arrange supervision meetings. Failure to do so will be recorded as unapproved absence. The compulsory elements for the MSc project modules include (CS5098, CS5099) missing no more than two supervision meetings without approval.
Project deliverables
The deadlines for these are specified on MMS:
- Description, Objectives, Ethics & Resources/Risks (DOER)
- Plan & context survey
- Interim demo
- Final dissertation & materials
- Final demo
All deliverables are mandatory and you may be issued an academic alert if you miss them. Regular supervision meetings are also mandatory.
DOER
See information on generic projects page.
Plan and context survey
This deliverable consists of a very early draft of your dissertation, as a single PDF document. This should include three elements:
- Table of contents with all the chapter and section headings. These will form the skeleton of your dissertation and ensure that it is properly structured;
- Largely complete review of related work (literature review). This is normally 5-10 pages long and will include citations to most important papers on this topic and explain how they relate to the task;
- Work plan for the rest of your dissertation period (week-by-week) indicating the main tasks and objectives you will need to tackle and when you will be doing this. This is usually in the form of a table, a Gantt chart, or similar.
Interim demo
See information on generic projects page.
Final dissertation
The final dissertation forms a major part of your final mark, and a poor dissertation can undo a lot of otherwise good technical work. The dissertation should show that you understand your work, show where the design and work went, and convince the markers that it is important and valuable. It should critically reflect on the project and what was achieved.
Dissertations should be understandable to any CS staff – not all markers will be specialists in all fields. Sending a draft to your supervisor for comments is very important and the more time you leave for this, the better the result is likely to be.
There are examples of past dissertations in the project library in the student handbook and it is good to study them, as well as looking at the guidance linked below.
A good dissertation will be well-structured, clear and informative, demonstrating understanding of the topic and related work, and not be overly verbose. Talk to your supervisor for tips and feedback.
The final dissertation will normally take the following form, although this may be varied if you and your supervisor feel it appropriate. It is always a good idea to produce an early outline of the thesis structure and discuss this with your supervisor before writing large parts of the thesis. Please bear in mind when reading reports from previous years that these guidelines may have changed over recent years.
Section | Content |
---|---|
Title page | Containing the title of the project, your name, student ID, “University of St Andrews”, the title of your degree programme, and the date of submission. You may add the name of your supervisor if you wish. If you are doing a group project, indicate this explicitly, with the names of the other students. |
Abstract | Outline of the project using at most 250 words. |
Declaration | “I hereby certify that this dissertation, which is approximately [insert word count] words in length, has been composed by me, that it is the record of work carried out by me and that it has not been submitted in any previous application for a degree. This project was conducted by me at the University of St Andrews from [month/year] to [month/year] towards fulfilment of the requirements of the University of St Andrews for the degree of [insert degree title] under the supervision of [insert name]. In submitting this project report to the University of St Andrews, I give permission for it to be made available for use in accordance with the regulations of the University Library. I also give permission for the title and abstract to be published and for copies of the report to be made and supplied at cost to any bona fide library or research worker, and to be made available on the World Wide Web. I retain the copyright in this work.” [insert date] [insert signature] If there is a strong case for the protection of confidential data, the parts of the declaration giving permission for its use and publication may be omitted by prior permission of the Projects Coordinator. |
Contents page | Table of contents. |
Introduction | Describe the problem you set out to solve and the extent of your success in solving it. You should include the aims and objectives of the project in order of importance and try to outline key aspects of your project for the reader to look for in the rest of your report. |
Context survey | Surveying the context, the background literature and any recent work with similar aims. The context survey describes the work already done in this area, either as described in textbooks, research papers, or in publicly available software. You may also describe potentially useful tools and technologies here but do not go into project-specific decisions. |
Requirements specification | Capturing the properties the software solution must have in the form of requirements specification. You may wish to specify different types of requirements and given them priorities if applicable. |
Software engineering process | The development approach taken and justification for its adoption. |
Ethics | Any ethical considerations for the project. Your initial ethics form, and full ethics ‘favourable opinion’ letter if applicable, should be included as an appendix. |
Design | Indicating the structure of the system, with particular focus on main ideas of the design, unusual design features, etc. |
Implementation | How the implementation was done and tested, with particular focus on important / novel algorithms and/or data structures, unusual implementation decisions, novel user interface features, etc. |
Evaluation and critical appraisal | You should evaluate your own work with respect to your original objectives. You should also critically evaluate your work with respect to related work done by others. You should compare and contrast the project to similar work in the public domain, for example as written about in published papers, or as distributed in software available to you. |
Conclusions | You should summarise your project, emphasising your key achievements and significant drawbacks to your work, and discuss future directions your work could be taken in. |
Appendix: testing summary | This should describe the steps taken to debug, test, verify or otherwise confirm the correctness of the various modules and their combination. |
Appendix: user manual | Instructions on installing, executing and using the system where appropriate. |
Optional: further appendices | If appropriate, you may include other material in appendices which are not suitable for inclusion in the main body of your report, such as mathematical proofs. |
Appendices should be used for material that documents your work, is relevant, but does not need to be in the main body of the report. The main body should stand on its own. Appendices are included in the word limit.
You should not include software listings in your dissertation, unless it is necessary to discuss small code sections. Code and associated material will be submitted separately to MMS.
There is a hard 15,000 word limit on all MSc dissertations. This is a maximum, not a target to be aimed for. The word limit includes everything except the title page, declaration/acknowledgements, table of contents and bibliography.
Group project dissertations must be written independently by each group member. Such dissertations are processed via Turnitin in the normal way, and any similarities with dissertations of other group members will be treated in the same way as for individual projects. If you wish, you can include jointly-written material that is clearly and explicitly identified as such in the dissertation, but keep in mind that the fact that it was jointly-written will be taken into account by your markers.
Submission
See information on generic projects page.
Final demo
See information on generic projects page.
Students doing a group project should give a single combined demo.
Assessment
See information on generic projects page.