Imperial College of Science, Technology and Medicine

MSc in Computing Science

Group Projects, 2000 - 2001



This page gives general information about group projects, including some general advice and specifications of what you are required to do.

Contents

General

The group project exercise is an opportunity for you to put into practice what you have learned in the first term in a reasonably real-life situation. The role of your supervisor is a customer who has a problem to solve. They know the problem (sometimes not even in great detail, if the project is run the first time) but will pretend not to know much about the technical way of solving the problem. That will be your job. You as a group should think of yourself as a small, young start-up company whose reputation (and hence its likely success) will depend on this first real job you have. You should take advantage of the large resources in equipment and in computer know-how of our department and its staff to find out the best tools and the best technical advisers around which can help you to solve your problem the best possible way.

Procedure for assigning students to projects

Our staff have volunteered to supervise a number of projects . However, one or two of these may not run if there is insufficient interest. On the 20th and 27th of November, the projects will be described by their proposers and if selected, probably, the presenters will become the supervisors as well. There will be a selection form posted in a few days' time for you to make your choices.

Project assignments will be e-mailed to you on Monday, the 11th of December, which will allow you to meet as a group and talk to your supervisor before the end of term. To be on the safe side, you should meet by Tuesday the latest and try to arrange a meeting with your supervisor by Wednesday, the 13th. It will be extremely useful for you if you can divide the work among the members of the group before you leave since this will allow you to work independently and gather some information before the start of the new term.

Group Organisation

Groups will consist of five or six members. One person will be elected as group leader and another as secretary by the members of the group. The group leader and secretary should have less coding or testing responsibilities than the other members. The group leader decides what route to take when there are different opinions among group members. Also, it is the group leader's responsibility to ensure that group members deliver what is required of them and that they are on time. Normally, the group leader is in charge of the integration process when the various members' contributions are moulded into a single working "product."

The secretary has to keep a logbook. This contains records of meetings and attendance of members. There should be a record after each group meeting of who agreed to do what and by when. It might also be a good idea to email these agreements to group members after each meeting. The secretary is also responsible for integrating documentation (usually provided by all members) into professional looking reports. Each member of the group should keep an individual record of how much time they spent and what they accomplished each week. Actual time spent per week for each member and work carried out should be recorded in the logbook.

Work Schedule

Period 1: January

During this initial phase the group develops a product specification on the basis of discussions with the supervisor. The group should further try to establish what resources (hardware and software) will be required. It is very important that, with advice from your supervisor, you come to an agreement on what techniques (e.g. which programming languages) you will use to implement the project. The amount of time available means that you may not be able to switch techniques at a later stage. This phase concludes with the writing of your first report.

The first Report, called REPORT-I is a very important document. It is the external specification of the project. This means it should describe what functionality you are setting out to provide with your final product. It is in a way a "contract" between your project supervisor (who will evaluate your work) and you. It should contain clearly stated minimum specifications that you undertake to provide. If your final project meets these minimum specifications, you will in general get at least a B grade. It is therefore very important that you negotiate these minimum specifications with your supervisor in such a way that there is clear understanding on both sides and that you are confident that you can achieve them. Furthermore, this report should also outline your ideas for how you might be able to extend your work to provide more than the agreed minimum. Completing such extensions will in general mean that your grade will be better than a B.

Specifics for 2001:

Resource requirements will be handled by email.

Period 2: February

The best way of using this period is to develop a "fast prototype" of the project which allows you to have an early feasibility-check on the overall integration of your system. During this time different design approaches and technical solutions will be discussed and tested such that by the end of this period the internal design details and technical approaches to solving the main problems become firm. Without knowing at this stage that the different parts of your technical work will definitely be able to "talk" to eachother, you may struggle to get everything to work by the final deadline. At the end of this period, REPORT-II will be written, which summarises the work you have done during this time and the decisions you have reached.

Contents of Report-II

  1. Update on specification, if necessary. Are you still going to aim to fulfil the functionality specification that you set out to achieve in Report-1? Hopefully, the answer is YES. However, if not, what changes have you made? Why? Did some aspects turn out to be technically infeasible? Too ambitious? Can you do more than originally planned.

  2. Design and structure of your product. How have you divided the overall system into different parts? What is the functionality that is provided by each part? Are there any key intellectual problems that need to be solved in the different parts?

  3. Technical approach. What techniques are you using to implement the different parts of the project?

  4. Division of work - who is doing what?
    (Note that in the actual report, the description of the parts and the techniques used to implement them, and the list of people doing each part might be merged - but I think it's useful to think about them independently.)

  5. Progress. How far have you got?

The main aim of this report is to help you and your supervisor to have a reality-check on how you are progressing. The report will not be assessed as such, but, well done, can easily form the starting point for your final report. I suggest that this report should be about 10 pages long .

This year's reports have to be handed in by 10 a.m., Thursday 1 March . A single hardcopy should be handed in to the Student General Office.

Period 3: March

During this period both the following tasks have to be performed:

Final Report

This section gives some suggestions for how you might structure your final report. The precise structure of your report will obviously also depend on the particular project you did, so the items below are not binding, just suggestions. Note that REPORT-I and REPORT-II should be able to provide a substantial part of the contents of the initial sections of your final report.
  1. Introduction.
    A brief(!) description of the topic and the problem you are setting out to solve.

  2. Specification.
    Specification of the functionality that your project aims to provide. The contents of this section would normally be provided by REPORT-I. In addition to that, explain whether you had to make any changes to the original specification, and why (This may be taken from REPORT-II.).

  3. Methodology.
    This section should describe the method you have used for solving the tasks described in your specification. How was the overall task divided into different part-problems? What were the intellectual and/or technical problems that had to be solved? What techniques did you consider using for solving the problem? Which did you choose and why? Note that most of these issues would have been addressed in REPORT-II.

  4. Group Work.
    Division of work - who is doing what? This is not a long story - just a brief statement of who does what.
    (Note that in the actual report, the description of the parts and the techniques used to implement them, and the list of people doing each part might be merged, also note that your REPORT-II should already provide this information.)

  5. Final Product
    Description of teh final product you have produced, i.e. your overall achievement. What have you implemented? Anything not implemented? What were the difficulties? Any difficulties you managed to overcome? Any results (this would apply more to investigative projects than to implementation projects)? Evaluation: How good is your product, how well does it perform, how accurately does it satisfy the specification?

  6. Appendix
    The appendix should contain your logbook, with records of group meetings, who did what, and, if possible, amount of time spent by various group members on their contributions (I realise that the latter might be hard to do precisely).

Other Issues:

Project Presentations

This year's project presentations will be held in the last week of term, on Wednesday March 21 and Thursday March 22, according to the schedule given here.

Presentations will be held in Studio A. You can project to an overhead screen from both Linux and Windows; either from the installed PC, which has a slightly extended standard Department of Computing configuration, or from a laptop. I have left a 10 minute gap between presentations to allow each group to set up.

Assessment

The main copy of your report including appendices will be given to your supervisor on Monday 19 March. Schedule permitting, the other copies, consisting of the main part only, will be given to the other supervisors whose projects will be presented in the same session as yours. All supervisors present may have input into the grade you receive.

You will be given one final, overall grade for the project. The following issues will probably influence that grade:

Some of you have asked if all group members will receive the same mark. It is our preference to give one uniform mark if that is reasonable. However, if it would be fairer to differentiate bewteen different group members, the option of awarding differential marks exists.

Summary

It is hoped that the group project exercise will be a satisfying, pleasurable and a learning experience for all of you. It is normal that after completion of a project the group members feel that it could have been done better, which is understandable since the project would be done definitely better if the group could do it a second time. However, it is very rare that anyone has this opportunity. It is highly recommended that you all read the very enjoyable book, The Mythical Man-Month by Frederick Brooks, Jr. (Addison Wesley 1982), which describes a real project for real money (and prestige). You will see that it is not that dissimilar to your own experience even though the project described in the book represents thousands of man/woman-year effort.

In summary, a few things to keep in mind:

Originally written by Peter Burger. Modified by
Theodore Hong
Olav Beckmann
MSc (Computing Science) Lab Organisers
Last modified: Wed Jan 15 23:44:22 GMT 2003
Back to the MSc Conversion Group Projects Home Page