CO32037 Resit Coursework
For the coursework you are asked to build an on-line search engine for
the module descriptors on the School of Computing Website.
You should write a script that parses the page at
and extracts the moduleid for each module. Your script should then
read each module descriptor via the web and store its content in some
format in your cgi-bin directory. This only needs to be done once.
The On-line Search
Your search engine should provide a Google-like search screen with a
single textbox for the user input. The user can type in as many terms
as desired. A plus sign (+) in front of a term indicates a required
term (i.e., Boolean AND). A minus sign (-) indicates a term that must
not occur (i.e., Boolean NOT). All other terms are connected via
Boolean OR. A phrase is indicated by enclosing terms in double quotes ("").
The Results Page
The results page for the searches should provide a link to the module
descriptor in which the term(s) was/were found. It should also print
the sentence in which term(s) was/were found on that module. The
search terms should be highlighted in a different color.
Your script should set a cookie. The cookie limits each user to 2
searches per minute. If a user attempts to perform more than 2
searches per minute, the results page should display "System
busy. Wait a minute and then try again."
You must provide a resources page that lists any materials other than
the materials from the lecture notes and exercises in the practicals
which you may have used for your application. This must include any
Documents to be handed in
At the final deadline you will be submitting the URL of your
application and a printout of the source code of your application
(only the Perl/CGI code, not the HTML pages). On this printout you
should highlight with a pen the security subroutine of your application
and any other pieces of the code that implement security measures.
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.