Web Database Systems

Module summary

Module code: COMP1808
Level: 4
Credits: 15
School: Liberal Arts and Sciences
Department: Computing and Mathematical Sci.
Module Coordinator(s): Irfan Chishti

Specification

Pre and co requisites

Level 4 HTML, CSS and JavaScript
Level 4 programming
Level 4 Database design with ERD

Aims

To support students through practical experience in acquiring the knowledge, understanding and skills to develop a stateful database driven web application that is fit for purpose in that it is; secure, stable, scalable, usable, accessible, legal and standard compliant.

Learning outcomes

On successful completion of this course a student will be able to:
1 Design and implement an efficient, normalised, relational database.
2 Design and implement a stateful, secure, scalable, usable, accessible, legal and standard compliant web application
3 Identify and discuss legal, social, ethical and professional issues, considerations and risks
arising in web applications.

Indicative content

Databases; normalisation, logical and physical design, data types, querying, MySQL (MariaDB).

HTTP; GET POST, URL, caching in servers, proxies and clients.
HTTP servers; Apache, PHP processing (contrast CGI or Apache module), accessing HTML form data. State models; cookies, session variables, GET parameters, re-written URLs, hidden form fields, files, databases.
User input validation; client side (dynamic) and server side (active), user communication, regular expressions.
User input verification; CAPTCHA, email handshaking. Development tools, debugging and exception handling.
Security; protection against attack vectors, SQL injection, script injection, bots, DOS. Usability; navigation, flow of control and communication with the user.
Accessibility; device independence, assistive technology, legal compliance. Scalability; handling large data sets, limiting database queries.
Maintainability; separating concerns, use of include files client and server side. User generated content; uploading and consequent risks.
Standard compliance; W3C, IETF, how standards help the developer. Legal compliance, applicable laws and how they affect the developer.

Note:
This course is not about designing visually attractive websites, nor is it about learning PHP and MySQL. Students may learn a great deal about PHP and MySQL during this course but that will be a side effect of using PHP and MySQL while learning how to build a web application that is fit for purpose.

Teaching and learning activity

Each week there will be a 2 hour lecture and a 2 hour laboratory session.
Lectures will focus on issues relevant to the design, development and implementation of web and database systems.
The laboratory time will initially be spent taking the students through series of tutorial exercises designed to incrementally contribute towards implementation of the practical assignment. Later laboratory sessions will focus on supporting students in making progress with the practical assignment.

Assessment

Practical - 100%
LO - 1, 2, 3.
Pass mark - 40%
2500 words.
Implement a 3- tier Web application to include user registration and user generated content, with technical documentation, review of LSEPic and acceptance testing.

Nature of FORMATIVE assessment supporting student learning:
Students will be required to show their ERD and physical database to tutors in the laboratory sessions and have these signed off as workable. As much of the laboratory time will be spent working on the practical assignment, students seeking support in these sessions will receive regular verbal feedback, constructive criticism and practical support.