COMP 519: Web Programming
Autumn 2015

Assignment 4: PHP and mySQL Registration Page

Deadline

18 December 2015 (5pm)

Learning outcomes

The purpose of this assignment is for you to demonstrate the following learning outcomes and for me to assess your achievement of them.

Students should:

  1. have an understanding of the range of programming techniques and languages available to organisations and businesses and be able to choose an appropriate architecture for a web application.
  2. be able to demonstrate abilities to design and implement maintainable web sites.
  3. be able to make informed and critical desicisions regarding client development using HTML and JavaScript.
  4. be able to design and implement reasonably sophisticated server-side applications using one or more suitable technologies.
  5. have the knowledge to critically analyse and evaluate web applications.

Background

You will be writing a small PHP/SQL application to deal with the following (fictionalized) problem.

There are 32 students assigned to a module. In order to organize module demonstrations, the class should be split into four groups with different time slots. Each group should consist of 8 students. The module lecturer decided to have a registration webpage to allow students to sign up for one of the demonstrations. A student visiting the page should be able to submit her name, student ID, email address, and book a place in one of the time slots. For example, the registration Web page of COMP207 looks like this:

registration

The submitted data should be stored in a database which is maintained on a server. The webpage and the server should interact with each other at every step of the registration process. The page should show how many free places are available in each time slot, announcing and blocking all fully booked time slots. After a student makes a data submission, it should check whether the student has been already registered. If not, the data is stored on the server and the student is notified about her registration. Otherwise (if already registered), the student should be prompted to ensure that she wants to change her registration to the new section (and removed from the current one she is registered for).

As a means of checking which students are registered in each section, you should also write a separate webpage that will allow the module lecturer to choose a section and, after querying the database, will display the list of students who are registered in that section to a webpage.

Description of the problem

For your assignment, you are to write a registration webpage using HTML, CSS, JavaScript, PHP and mySQL, as outlined above, in order to allow students to register to demonstration timeslots.

Part 1 (70 pts)

The database must fully implement the registration process, maintaining the submitted information. The server and page behavior must meet the requirements listed above. In addition, (basic) help facilities should be provided. A separate page for the lecturer should also be working so that he/she can see the students currently enrolled.

Part 2 (30 points)

The specific look and feel of the pages as well as the database implementation is left intentionally vague, allowing considerable design freedom on your part. However, the page should have a nice look and the code should satisfy common standards. You may also add additional features to your page. For example, you can add JavaScript and/or PHP functions which can validate the name (for example, that the field isn't empty), SID (that it has only numbers in it), and email fields.

Note: For the purposes of this assignment, you may assume that I *will* have JavaScript enabled in my browser. (Of course, that may not be true in other situations when you are writing your own applications outside of this course!!)

Important note: It is assumed that your HTML/PHP code you write will comply with the XHTML Strict 1.0 standards (or better, such as HTML5). Failure to adhere to proper web coding standards will result in a loss of marks from your grade.

Submission of work

Please remember to have your webpage(s) online so that I can access them via a web browser and to submit them to the Coursework Submission System 5pm on the day they are due.

When you submit your files, be sure to include all relevant HTML, CSS, PHP files. Include an SQL dump of the relevant table(s) that you are using for this assignment. (Use the "mysqldump" command to generate this file, as outlined in the notes.)

Having your webpages online is a necessary part of this assignment so that I can accurately assess they are working correctly in terms of storing data in the database and interacting with the server.

When submitting your solution, don't forget to include a completed Declaration of Academic Integrity.

Assessment

This assignment contributes 1/4 of the 75% continuous assessment part of the course grade. The maximum possible grade on this assignment is 100 points.

Failure in this task can be compensated by higher marks on the other assessments of the module.

COMP519 marking descriptors

GradeClassificationPercentage Qualitative Description
A*Good Distinction80+Factually almost faultless; perceptive and focused treatment of all issues. Clearly directed; logical; comprehensive coverage of topic; strong evidence of reading/research outside the material presented in the programme; substantial elements of originality and independent thought; very well written. critical and scholarly presentation.
ADistinction70-79Logical; enlightening; originality of thought or approach; good coverage of topic; clear, in-depth understanding of material; good focus; good evidence of outside reading/research; very well written and directed.
BGood Pass60-69Logical; thorough; factually sound (no serious errors); good understanding of material; evidence of outside reading/research; exercise of critical judgement; some originality of thought or approach; well written and directed.
CPass50-59Worthy effort, but undistinguished outcome. Essentially correct, but possibly missing important points or inadequate treatment. Largely derived from material delivered in the programme, but with some evidence of outside reading/research; some evidence of critical judgement; some weaknesses in expression/presentation.
DCompensatable Fail40-49Incomplete coverage of topic; evidence of poor understanding of material; Poor presentation; lack of coherent argument. Very basic approach to a narrow or misguided selection of material. Lacking in background and/or flawed in structure.
FFail< 40Serious omissions; significant errors/misconceptions; poorly directed at targets; evidence of inadequate effort. Shallow and poorly presented work showing failure in understanding.

Late submissions

The University's standard policy on lateness penalties will be applied with respect to the latest electronic submission of the assessment. See Section 6 of the Code of Practice on Assessment for further details.