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 to a lesser extent 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.

Some of your coursework may be marked using some automatic evaluation software. For this software to work it will be required that you use the names within your webforms exactly as they are specified below (in the green font). You may loose marks if your software does not comply exactly to this specification.

Components of your coursework

Your application should consist of the following components:
  1. A search interface that allows a user to search the lecture notes page. The webform of your search interface should contain a single textbox with name search and a submit button and no other boxes or buttons. At a minimum it should be allowed to search for a single word, a phrase (indicated by using double quotes around the phrase) or two words. A search for two words should use Boolean AND.
  2. A quiz about server-side web languages containing 5 questions. The first page of the quiz should present the first question and contain a textbox called quiz and a submit button. After answering the first question, the user will be told whether the answer was correct or false and will be presented with the second question (again using a textbox called quiz). A cookie will be used to count the number of correctly answered questions. After each question has been evaluated the score will be updated and displayed to the user.
    The answers to the questions are as follows: "Perl", "regular expression", "non-greedy multipliers", "REQUEST_METHOD", "htaccess". Your script should evaluate these strings exactly as they are here, using upper- and lower-case as presented here, but without the double quotes. You should create the 5 questions to which these answers belong yourself.
  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, Javascript or script code which you may have downloaded from the web.
  4. Some documentation (in html format), which includes In total your documentation should not be more than 3 pages if printed in 12pt font on A4 paper. To avoid possible plagiarism, you should NOT post this documentation on the web before the deadline for the hand-in.


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!

You will be asked to submit the URL of your site for automatic verification in week 11.

The deadline for handing the printed documentation in to the School Office is December 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 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 make regular backup copies of your code, for example, by storing the files on a floppy 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
    Search10 points
    Quiz10 points
    Security10 points
    Documentation14 points
    Credits page1 point