CO32037 Coursework

If you have questions about the coursework, please, check the FAQ.

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

Your application should consist of the following components:
  1. A search interface that allows a user to search the page at 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. The search results should be highlighted. Each match that is found by your search engine should be displayed with the 5 lines that come before and the 5 lines that come after the match in the original page.
  2. A quiz about server-side web languages containing 5 questions. The first page of the quiz should present the first question. 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. 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: "PHP", "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, 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!

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 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.
    Please remember to show your matriculation card when you are handing in your documentation at the School Office.

    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
    Search10 points
    Quiz10 points
    Security10 points
    Documentation14 points
    Credits page1 point