CSE31MS Assignment 2000
Due Date: 28 August 2000, at 9am
Assignment Policies and Plagiarism
Please see the Departmental handbook for full details on the
procedures related to the administration and return of assignments.
Plagiarism is the process of claiming that work done
by others has been done by you.
Please note that the Department has a policy on plagiarism in
assignments and you should consult the relevant Departmental handout
for full details.
Objectives
- Practice writing html files.
- Understand how to write simple server-side scripts using PHP.
- Practice writing simple database-driven web applications.
- Practice creating web applications with a high usability.
- Understand the difference between content, presentation
and logic in web applications
Problem Overview
You are required to develop a small web application for a university
department. The web application is being developed to enable lecturers to
easily submit marks to a database and generate reports.
The web application should be intuitive to use and not abrasive to the eye.
As it deals with sensitive information the application should implement some
security measure that limits the user's ability to view and edit data.
The users of the system should be able to add, remove and edit marks through
a web form. The users should also able to view marks they have already
entered.
The database should include the following information:
- The actual grade percentage (ie 76%)
- The subject to which the mark pertains (i.e. CSE32MS)
- The component of the subject to which that the mark pertains
(e.g. Exam, Assignment or Online Test)
- The id of student who achieved grade (i.e. 96431716)
The web application can be implemented in any manner as long
as it is intuitive and easy to use. It must be capable of being
displayed by the major browsers (ie Netscape 4 and IE 4).
Specific Tasks
Core Task
- Design a set of database tables that are able to store student
marks for subjects and the assessment components within those subjects.
- Design a form or set of forms that allow an end-user to
- Add a single mark to the database
- Add a group of marks to the database (input data
format is given below )
- Edit a single mark in the database
- Delete a single mark from the database
- Design a web page that allows the end-user to view a set of
marks. The user should be able to restrict the view to a set of
marks for a subject or for a particular individual within that
selected subject.
- Design a set of web pages that allow easy navigation between
all the forms and various pages in the web-application
- Implement a system that forces the user to log in before they
can interact with database in any way (including viewing data).
Administrators should also be able to add new users relatively
easily.
- Develop an online help system for users of the product. The
help system should be integrated into the web applications user
interface. This should enable users of the system to readily
access help information at any stage when utilising the system.
The particular help can be some form of hyperlinked document or
alternatively be placed in some form of popup dialogs. The help
system should allow the user easy access to required information
and should not cause the user to interupt their usage of the web
application. The explanation for why a particular stratgey was
chosen should be stated in the above report.
- Develop a report production form. The form should allow the
user to select a subject and subject component (ie
subject="CSE32MS" and component="Assignment")
and and produce a report. The report should be presented in a
format that can be easily printed from the browser to an A4
printer. The report should include annotation at the top stating
the subject and the subject component and then describe each
students id and mark. A priimtive example is given below.
Subject: CSE32MS
Component: Assignment
Student Id Grade
------------------- -------
123456789 30.0
223456789 90.0
323456789 70.0
423456789 60.0
...
- Write a report stating why you chose particular presentation
strategies and why you avoided other alternative presentation
strategies. This report must describe the ergonomic and
usability benefits to the user of that choice of
system design, including the method used to provide online help.
You should not concentrate on purely technical reasons for
design choices. There should also be a section in the report
that states the assumptions made when producing the system.
You should also include your database schema and reasons for
your decision to structure the database tables in the
manner used in the implementation.
Extension Tasks
- Extension 1:
Extend the report generation so alphabetic grades are can be
displayed instead of numerical values.
The choice to report grades instead of numerical values should
be given on the form. The conversion between numerical
values and grades should be according to the following rule.
Mark | Grade |
80-100 | A |
70-80 | B |
60-70 | C |
50-60 | D |
45-50 | E |
0-45 | F |
- Extension 2:
Extend the report generation further so that it can extract and report results
that include multiple different components for each subject for a student. When
a student doesn't have a grade for a particular component then a - is to be
placed in area. An example of output is below.
Subject: CSE32MS
Student Id Assignment Online Test Exam
------------------- ------------ ------------- ------
123456789 30.0 - -
223456789 90.0 100.0 95.0
323456789 70.0 60.0 89.0
423456789 60.0 55.0 73.0
...
- Extension 3:
Finally add the average grade of all components to the report.
Assume that the average is computed giving equal weight to each
component in producing the overall mark for the subject.
The overall mark should be displayed as a numeric and
alphabetic grade. i.e.
Subject: CSE32MS
Student Id Overall Grade Assignment Online Test Exam
------------------- --------------- ------------ ------------- ------
123456789 F 10 30.0 - -
223456789 A 95 90.0 100.0 95.0
323456789 B 73 70.0 60.0 89.0
423456789 C 63 60.0 55.0 73.0
...
Med Format
The format used when adding groups of marks is utilised in an application
called "med". Each file has one mark per line. The line consists of
two fields delimited by a tab. The first field is the student number and the
second field is the grade (as a percentage mark). A small sample follows.
98544685 80.0
98558380 90.0
98524435 90.0
98544194 90.0
98529875 90.0
98548364 90.0
98542108 70.0
It should be possible to submit a file in the med format
through copying and pasting into a web-form or alternatively
by a file submission - whichever you think is easier for the user.
Resources
There are a number of resources available to help
you with the database and PHP programming required
for the assignment.
Submission
Submission will be electronically managed via the commands submit and
verify. To submit your assignment create a directory called
"ms". Copy into the "ms" directory all the relevent files
including database schema. (You will be shown how to extract the schema in a
lab class).
Execute the command "submit MS ms" to send the
contents of the directory to the submission site. You can check that the
submission has been successful by issuing a "verify" command. If you
make an incorrect submission resubmit using the "submit" command
again. This will overwrite your previous submission.
If you have any difficulties with the operation of the " submit "
command you should use "man submit" to check that you understand how
to use the submit command.
Provisional Marking Scheme Outline
Total marks= 200
Usability and ease of use of web application |
[15 marks] |
Security of access to the web application |
[10 marks] |
Presentation and visual appearance of the whole web application |
[15 marks] |
Method of viewing entered marks |
[15 marks] |
Method of entering and updating marks |
[20 marks] |
Method of removing marks |
[10 marks] |
Core report generation |
[35 marks] |
Online Help |
[15 marks] |
Written Report |
[20 marks] |
Extension 1 |
[20 marks] |
Extension 2 |
[20 marks] |
Extension 3 |
[20 marks] |