Advice for Project Students

Your final project is the crowning achievement of your BSc/MSci/MSc course. It is your opportunity to demonstrate you have developed the technical knowledge, expertise and skills, the critical judgement, the project management and reporting proficiency, and the awareness of your professional responsibilities to start practicing as a Computer Science professional in your chosen area of expertise. As such, this project is a more substantial undertaking than anything else you have done in your course and it is assessed differently as well. This page aims to answer some common questions about your project.

Can I get an 'A' for my project?

This is a very common question. Whether this is something that concerns you or not, it is worthwhile to review the assessment criteria for your final project module on KEATS to get an idea of what a "first class" or "distinction" project looks like. The expectations are quite different from any coursework you will have done previously in your course. Specifically, the following common outcomes of final projects do not quite meet these expectations:

  • A competently developed, polished desktop application. This is something that undergraduate students can accomplish by the end of their first year. For your final year project, you need to demonstrate that your competencies have moved beyond that.
  • A competently developed, well-designed, comprehensively tested, polished information system (e.g. a web application or a mobile device application supported by a back-end). This is something that undergraduate students can accomplish by the end of their second year. These type of projects make for a good second year group project, for example. However, your final year project ought to demonstrate that your competencies have moved beyond this as well.

All projects are double marked by the supervisor and a second examiner. Projects are marked in a accordance with a fairly detailed marking scheme that specifies the standards of work you need to achieve for a particular grade. Therefore, it is impossible to reduce marking to a set of things that you need to do to achieve a particular mark. In my experience, examiners typically look for the following in a project before they award it an 'A' grade:

  • A literature review covering solutions to technical problems. This literature review should cover all relevant issues. It should provide enough technical depth and originality that it demonstrate that you understand how the approaches and issues covered work. The literature review must not be something that stands separate from your software development work. Instead, it should feed into your specification, design, implementation and/or evaluation.
  • Project work that demonstrates more than mere competence in the application of standard knowledge. The work should be somewhat ambitous and non-trivial. For example, when your project involves software development, it might include an implementation of an approach you discovered in your literature review. Your work should demonstrate critical judgement, e.g. by providing a rationale for the most critical decisions. You should be able to demonstrate that any software that is developed is free from defects, e.g. through comprehensive testing.
  • A critical evaluation that allows you to compare achievements against project objectives and to draw justifiable conclusions. Your evaluation should be backed up with evidence.
  • A concise, clear, coherent and sensibly structure report that is appropriately referenced and presented.

All the project I propose will have obvious scope to include these element to a standard expected for an 'A' grade.

Are you prepared to supervise a student-proposed project?

Yes, I am happy to do that. However, many students who self-propose a project are very ambitious and hope to earn an 'A' in their project. If that describes you, please note the above expectations for projects to achieve that grade. Many student-proposed projects come in the form of an interesting ideas for a potentially useful stand-alone application or information system. As explained above, such project outcomes are unlikely to be sufficient to yield an 'A'. This is fine with me as I find application development to be an interesting and valuable endeavour in itself. However, you might be more ambitious. If you want to do a self-proposed project and you aim to obtain an 'A', then you will need to find a way to meet the additional expectations within the context of your project.

How do I book a project?

The department releases project topics at least a week before they are open for booking, to allow students enough time to decide what project they wish to do. I adhere to that policy strictly. If you wish to book one of the projects I proposed, send me an email after projects have opened for booking. The subject of your email must equal "Project booking request" (otherwise, your request may not be considered).

Apart from using the correct subject line, the mail must include your full name, student number, the programme you are enrolled in (BSc/MSci). You may include a brief statement (one paragraph is prenty) to explain why your chosen project topic is a good project for you. Feel free to include what you think is appropriate. For example, you could explain what you hope to achieve with your degree and how the experience of doing this project will help with that. There is no need to meet with me to discuss the project: I will not prioritise students whom I have met and I will not enter into informal agreements to book or prioritise any individual student before the official start of the project booking time.

How do you allocate projects to students?

Shortly after 12pm of every day during the project booking period, I will review the booking request emails I have received that day and allocate projects to students until I am fully booked. All requests received since 12pm the day before will be treated as having arrived at the same time. If there are more requests than I can allocate for the same project, I will use the brief statement enclosed with the booking request as a tie breaker and try to allocate the project to the student for whom the project appears most beneficial.

Interest in one of your projects seems very high. Is there any point in requesting that project?

Everyone looks at many prospective project topics proposed by a number of supervisors, even though they only need one project topic. Therefore, there are far more people interested in each project than people that request booking it. It is impossible to tell how interest in a project translates into booking requests as the number of expressions of interest per booking requests varies considerably from project to project. Usually though, students overestimate the competition. It is worth bearing in mind that there are more project topic proposals than project students and that everyone has different interests, career goals and preferences.

To maximise your chances of booking your preferred project, I would advise the following:

  • Use the period before booking week to read more about the different projects you are interested in and make a list of the projects you prefer. Find out each prospective supervisors approach to projects in the process.
  • Do not be overly preoccupied with the context of a project. Focus instead on the Computer Science challenges that a project entails, because that is what you will be spending most of your time on. This might widen the range of options available to you.
  • Request a project booking early on the first day of project bookings. When requesting one of my projects, email your request on the first day of project bookings, before 12pm. Obviously, I can accommodate far more people early on in the project booking process than later.

Can you give me more information about project X?

I always struggle to answer this type of question because it is too generic. Rest assured that I am not purposefully holding back any information about any project. Please make sure you read this page and the project information page. If you have a specific question about a project, please see below.

Where can I find the answer to a specific question about particular project?

Please make sure you revise the project information available on these web pages. I try to provide as much information as I can about the projects I have proposed. As I learn what questions students have about certain project topics, I add more information to the summary. Therefore, chances are that you can find the answers to your questions on these pages.

If you still have questions about a project, please email those questions using the subject line "Project enquiry" in your email (this allows your email to be sorted in my inbox and help me prioritise answering your questions during the project allocation period). I will try to respond promptly and update the project description with frequently asked questions.

I will also organise an information session for my projects. The details of this session will be announed on the relevant project list page.

How can I propose a project myself?

If you wish me to supervise a self-proposed project, please write a short proposal for your project. This proposal should include a motivation for the project (this may include or be a "personal" objective for the project, some personal benefit the project will yield for you), a clear "business" objective for the project (i.e. some benefit that your work will achieve rather than a software specification) and a short explanation of the area of Computer Science this project relates to. Ideally, you proposal will also identify what you will cover in your literature review and how you will employ this knowledge in your project, what makes your project challenging and how you will evaluate your work. This helps you to consider how your project is likely to meet the project assessment criteria.

What is your approach to project supervision?

I see my role primarily as that of an advisor (which, incidentally, is the name of project supervisors at US universities). Therefore, I will not instruct you on what you must do day-by-day, in the way that a line manager might. In order to be able to advise you, I need to understand where you wish to take this project, what you wish to focus on and, broadly, what challenges you are facing. I may challenge some of your ideas or suggest alternatives to get you to think about your course of action, but the decision as to where you take the project is yours.

I prefer to discuss the project in person, or via Skype, rather than email. While email is fine to arrange project booking and resolve minor issues, the best way to discuss your project with me is at a meeting. If I supervise your project, I will ask you to book your own meetings with me at a time that is convenient for you, by visiting my appointment booking page. For most students, I suggest meeting every 2-3 weeks. If you are an MSc (PGT), it is sufficient to meet with me twice during term 2, but you may wish to meet more frequently while I'm available during the summer. Normally, I am routinely available during term time. I will not be available for meetings when the College is closed, on bank holidays and in certain periods during summer.

In my final project, should I aim to produce an application for commercialisation?

This is question is rarely asked by students, but I include it here because it is an important one. The final project does not provide a framework that is suitable to produce software for commercialisation because the assessment criteria get in the way of focussing on what matters for your consumers. The final project is much more suitable to study a relatively small problem in considerable depth. You should see it as an opportunity to demonstrate your problem solving and research skills as that is what is being assessed in this module.

If you are an entrepreneurial individual and have an idea for a business that involves software development, you can still leverage the final project to your benefit. Many such applications require some core functionality that is not trivial to develop and could benefit from an in-depth understanding of related Computer Science research. The final year project is an opportunity to study that.

If you would like your final project to yield a usable prototype application you can add to your GitHub portfolio, you can take on such a project as a final project, but you need to be realistic about the mark that you can achieve if your work is not rooted in relevant Computer Science research and does not come with a thorough evaluation. Consider participating in hackatons if you wish develop you software development skills and your software portfolio.