PLEASE NOTE: All CMIT modules have now been withdrawn,
and are unavailable for the 2010/11 academic year
These web pages and lecture notes are left as reference for those students
requiring CMIT modules to complete their programme only, and are not an
indication of modules currently offered.
Practical
Internet Programming
Programming Project Assignment
Assignment
Submission date: Thursday 14 January 2010 at 12 noon.
One or both of the assignments may also be submitted in draft form for qualitative feedback on or before Thursday 26 November 2009.
For the main part of the assignment, you are required to write web applications to perform two of the following tasks:
- Write a program to generate national lottery numbers. Extra marks will be given for ensuring that no duplicate numbers are generated, and for the presentation and formatting of the output (e.g. sorting the numbers, presenting them in a readable format, etc.). You can find information on the rules for the game at the official site, though there's a better explanation of how the game works at Wikipedia's National Lottery page. You could also adapt the program to work for other lottery games (using a different number range, different quanitity of generated numbers, etc.).
- Create a form-based application, which uses a series of forms to gather data from a use and repackages it into a more presentational format. An example of this might be a business card or CV generator. Bonus marks are given for validating the form (checking that email addresses, postcodes, etc., are of the right format, or insisting on certain data being filled in). You could also investigate output to PDF or SVG formats (difficult).
- Investigate the use of a database to store and retrieve data - perhaps a book catalogue or CD collection database. You'll need to construct PHP pages which allow the user to add/edit/delete data, and to display the collected data in interesting and useful ways. This question requres researching and implementing aspects of PHP beyond the module materials; this extra research will be credited in the assessment.
- If you have some other task or application that you'd like to program as part of this module, then discuss this with the module tutor and it can be set as one of your project tasks. You must obtain approval from the tutor for this option, and you must be particularly careful about providing evidence of your design process and implementation.
For each program, a 1,500 word critique should also be provided which shows clearly the design process and implementation of your program. This document should include any interim versions of the programs, and may take the form of a 'programming diary' of the progress of your projects.
Marks will be awarded for analysis, design and coding style as much as for whether the program performs the task correctly; you should think carefully about solving the task, perhaps using flowcharts where necessary and writing up your methods and decisions in doing so. In particular, you should examine how the task may be divided up into subtasks, and how each subtask can be implemented using the various control structures. Well-commented code will also gain a higher mark.
Remember that if you are taking MIT3213 for 20 credits, or any of the Master's level variants, you will also need to complete an essay.
You should hand in a copy of all source code on a floppy disk or CD, and include clear instructions on running the program (e.g. any parameters that need to be specified). Your complete documentation should also be included on the disk, in (X)HTML format, and should also be submitted in paper form (any flowcharts and diagrams may be hand-drawn if you don't have access to a flowcharting package). You should also ensure that there is documentation within the program in the form of comments, to make the purpose of each program section clear.
All work should be signed in at the CMIT Office (Room 151 in Queen's) by 12 noon on the day of the deadline.
