CO32037 Coursework

For the coursework you are asked to build a server-side web application containing the components described below. You can use any programming language of your choice for the coursework but only Perl and PHP will be supported by the lecturer. That means that if you choose a language other than Perl or PHP, you cannot ask for help if you are having problems.

Components of your coursework

The topic of this year's coursework is: Plagiarism Detection Software.

Your server-side application should consist of the following components:

  1. An interface with two textareas and a submit button. Each textarea accepts 30 lines of text with 80 characters per line (2400 characters in total). Any two texts that are submitted via this interface are compared with respect to their similarity. The results should be presented as follows:
  2. An expert mode interface which allows a user to register and to login. In the expert mode, a user has the extra option of saving the texts and the results on the server. (Note: you can use either a textfile or a database. With respect to the marking scheme, both options are equally valuable.)
  3. A "credits page" which contains your name and lists any resources for the development of your application other than the materials from the lecture notes and exercises in the practicals that you have used. You should include URLs for any HTML, images, Javascript or other code which you may have downloaded from the web.
  4. Some documentation, including: In total your documentation should not be more than 3 pages if printed in 12pt font on A4 paper.


Your coursework will be evaluated during the practicals in Week 11. If you cannot attend your practical during that week for whatever reason, you need to contact the lecturer in advance of the practical and arrange to attend a different practical. If you fail to do this, you risk having your coursework marked as "late" and capped at 40%.

The Napier webserver is guaranteed to be extremely slow during a time of high demand around the deadline. The deadline will not be extended as long as the server is functioning to some degree. Only if the server fails to work completely for an extended amount of time or if the server malfunctions during the practicals in week 11, the deadline may be extended. Because it is guaranteed that the server will be troubled, you should not attempt to do the coursework in the last minute. Proper project management is part of a successful coursework. You have been warned!

The deadline for handing the printed documentation in to the School Office is Monday in Week 12, 15:00. At this point you are required to hand in

  • a printout of your documentation (see above, 12pt font, 3 pages, A4) and
  • a printout of the source code of your application, but only the pages which contain script, NOT pages which are pure HTML. Please avoid wasting too much paper for this. Use a small font; if possible print two pages per page and/or use both sides of the paper.
    Staple the documentation in the upper left corner. Please, do NOT use plastic folders.

    Safeguarding your work

    It is your responsibility to ensure that your files are read-protected from others. You should not leave any printouts of your code on Campus, not even in the rubbish bins. You should change the permissions of all your html files and PHP to "unreadable by others" while you are not working on the code.

    You should make regular backup copies of your code, for example, by copying the files to your net storage space or to an external USB device via your I-drive.

    Marking Scheme

    If you submit your coursework late (between 1 and 7 days after the deadline), the mark will be capped at 40%. After that your coursework will be marked as "fail".

    You can reach a total of 50 points for the coursework. This is 50% of your final mark. The points will be distributed as follows:

    HTML, Design, Usability of the site5 points
    Text comparisons10 points
    User registration, login10 points
    Security10 points
    Documentation14 points
    Credits page1 point