skip to content

Department of Computer Science and Technology


The group design project course has several phases, each involving different kinds of activity that may need to be scheduled across different weeks, days and times, as decided in your own group’s project plan. The lecture timetable also reserves slots from 11:00 to 13:00 on each Tuesday and Thursday of Lent term. These are to give explicit time for groups to meet in order to conduct their internal co-ordination.

There are four formal review meetings with your project client, which can be in-person or virtual. These meetings should occur in weeks 1, 2, 4 and 6 of the Lent term. It is the responsibility of each group to liaise with their client to arrange the meetings within the required week. Attendance at these four client meetings is compulsory for all students. Failure to attend will jeopardise one or more of your ticks. If you become aware of anything that might prevent you from attending a client meeting, please notify us via the group project email address as soon as possible. A note from your College Tutor may be presented in mitigation. Other group members should also be kept informed of the situation.

Before each client meeting, a formal document will be delivered. This should be prepared as a PDF document, which is sent to the client by email. The delivery should be made before 12 noon on the day preceding the actual meeting, so that the client has time to review it. The email containing the deliverable document must be copied to the group project email address, and the team name should appear in the subject line of each email. It is essential that copies of all deliverables are sent to the project organizers, as these copies will be used for assessment.

I. Briefing and project selection

In Michaelmas term, the design briefs are presented to students.

You may express your preferences via the Moodle IB Group Project pages.

Note that some projects are far more popular than others, so there is no guarantee you will be assigned to your first preference (or indeed any of your preferences). You will be expected to work on whatever project you are assigned to, with colleagues that you have not chosen.

INDIVIDUAL ACTION  Every student records topic preferences via Moodle

II. Kickoff and risk analysis (Week 1)

  • The group membership, clients and assigned project briefs will be announced at the kick-off meeting on the first Thursday of the Lent term. If there is a serious reason for members of a group to feel that they will not be able to work together, they must inform the project organizers immediately. No requests for changes in group membership will be considered after the kick-off meeting.
  • Each team must elect a contact person, who will take responsibility as the primary point of contact with the client, and with the group project administration team.
    ACTION Contact person introduces themselves to group project administration team via the group project email address.
  • Meeting 1: Your first priority is to contact your client and schedule your first client meeting. This should be in Week 1, and you are advised to meet ASAP. This meeting is to clarify the client's requirements.
  • Meeting rooms can be booked here.
  • ACTION Team schedules first client meeting in Week 1.
  • Within 24 hours of Meeting 1, the team should then review the technical and managerial risks, decide which are most serious, and document them in a risk assessment document of up to 50 words. This should be sent to the group project email address.
    ACTION Within 24hr of meeting 1 contact person sends the risk assessment to the group project email address, documenting main risks.

III. Requirements analysis phase (Week 2)

The first major task is to turn the requirements (which may still be quite open) into a formal functional specification and a project plan to implement it. You should take care not to develop an over-elaborate specification that will commit you to more work than necessary.

ACTION The team should schedule Meeting 2 to go over the specification and plans with the client

The functional specification should include:

  • a general investigation of the problem and its background;
  • the functionality to be provided;
  • the major components of the system;
  • interface specifications for those components;
  • acceptance criteria for the finished product;
  • a management strategy for the group; and
  • technical contributions to be made by each member

The project plan should set out the tasks assigned to each person, taking account of estimated time to complete each task, and dependencies between them. It is important to work to an overall budget of no more than 60 hours per member.

Each member of the group is expected to make a technical contribution, and to gain substantial experience of programming in the course of the project. This might involve test harnesses or scripts, data conversion utilities, a tutorial system, external interfaces, demonstration examples, or other code as appropriate to the project and the individuals in the team.

Your team should draft the functional specification and project plan and send it to your client at least 24 hours before Meeting 2. You should discuss it at the meeting, adapt it as appropriate and send the final version to the client and group project email address within 24hr of the meeting.

DELIVERABLE Functional Specification and Project Plan
ACTION contact person sends draft deliverable to the client at least 24 hours before Meeting 2
ACTION contact person sends final deliverable to the client and the group project email address within 24hr of the client meeting

IV. Implementation phase (Week 2-6ish)

The second major task is:

  • to write the code of individual components and test them in isolation. This is likely to require the construction of special test harnesses for modules or classes.
  • To integrate the components and test the final system

During this phase, client meetings 3 and 4 are used to report progress and receive feedback in weeks 4 and 6, respectively.

ACTION The team should schedule Meeting 3 in Week 4
DELIVERABLE Progress Report 1
ACTION Contact person sends progress report 1 as a PDF to the client and to the group project email address at least 24hrs before Meeting 3
ACTION The team should schedule Meeting 4 in Week 6
DELIVERABLE Progress Report 2
ACTION Contact person sends progress report 2 as a PDF to the client and to the group project email address at least 24hrs before Meeting 4

After meeting 3, and before Friday of week 6, every student must also review their personal contribution to the project so far, making an interim assessment using a questionnaire accessed via the Moodle VLE.

INDIVIDUAL ACTION every student assesses their own progress by completing assessment questionnaire on Moodle after Meeting 3, and before Friday of week 6 at the latest.

V. Wrapup phase (Week 6/7)

The final task is to finalise the code, ensure that it is adequately documented, and prepare a video presentation. The video presentation should:

  • Introduce your project
  • Highlight the technical challenges and your solutions
  • Demonstrate the project working
  • Be no more than 4 minutes

The deadline for video and code completion is noon on the thursday at the start of week 8. At that time, a full copy of your group code repository (zip or tar file) must be submitted to the examiners via Moodle. No credit will be given for features added after this.

The team must then work together to write a final report. This report should describe the project’s successes and failures, elaborate on any lessons learned, and document the work done by each member of the team, including sections describing each person’s specific technical contributions.

The final group report should be submitted as soon as possible after that deadline, sent as PDF by email to the client and group project email address. The latest possible time to send this is the last Wednesday in Lent term.

DELIVERABLE Video presentation
ACTION Contact person uploads the video to Panopto via Moodle.  These are then uploaded to YouTube by the Student Admin team
ACTION All members of the team must ensure that the copy of your code repository submitted via Moodle contains the complete source code of the project, including your own individual contributions for consideration by the examiners.
DELIVERABLE Final Group Report
ACTION Contact person sends final report as a PDF to both the client and the group project email address.

VI. Presentation and Awards

The video presentations will be made available for all Computer Lab staff, clients and Part IB students from Monday to Wednesday of Week 8.  In that time, those people will also be able to vote for their favourite project in a series of categories.

On the last Wednesday of term there will be a public screening of the videos, interactive exhibition with demonstration of all projects, and presentation of the awards.


Every student reviews the project videos and votes on their favourites by the voting deadline. 

VII. Reflection and review

Finally, every student must write an individual personal report including four sections:

  1. reflection on your overall experience;
  2. summary of your personal contribution to the work of the team;
  3. your assessment of the contributions made by each other member of the team; and
  4. a sample of source code demonstrating one of your key technical contributions.
INDIVIDUAL ACTION Every student writes a personal report in PDF format, and submits the report as a Moodle assignment before 5pm on the last Wednesday of Lent term (in 2024, 13 March).