For the coursework you are asked to build a server-side web application as described below. You can use any server-side language of your choice. You can work on the coursework by yourself or as a team of two people. The coursework will not be marked but there will be at least one question in the exam about the coursework. When you are finished with the coursework you should show your work to the instructor for obtaining feedback. There will be some time reserved for coursework demos during the last two weeks of the semester. Students who wish can prepare a 5 minute demo of their site to be presented to the class.

Topic of the coursework: evaluation of source code

Your site should perform checks on user-submitted source code. Your checks can focus on the source code itself (for example, how many lines of code or checking whether certain words occur/do not occur in the code) or your site could execute the code, check run-time errors or perform unittests. Obviously, executing code presents a security risk. Therefore, if you are executing code, you should implement appropriate security checks.

This is an open-ended topic. You should decide which aspects you are going to fully implement, which ones you might implement in a prototypical manner and which aspects you are just going to design without implementing them.

Components of your coursework

Your coursework should have:
  1. A form-based interface which allows users to submit code. After clicking the submit button, the user should be provided with some information about the code.
  2. Some checks of the code (including security checks) using regular expressions.
  3. An XML output option. For example, user could download the results of your analysis as an XML format.
  4. Some AJAX functionality.
  5. Your application should accept Unicode (utf-8) character input via the form-based interface (for example contained in comments in the source code).