|Delivery Type||Delivery length / details|
|Lecture||20 x 1 Hour Lectures|
|Practical||6 x 2 Hour Practicals|
|Assessment Type||Assessment length / details||Proportion|
|Semester Exam||1.5 Hours Written Exam||30%|
|Semester Assessment||Web Programming Assignment||70%|
|Supplementary Assessment||Web Programming Assignment Students should resit failed components||70%|
|Supplementary Exam||1.5 Hours Written exam Students should resit failed components||30%|
On successful completion of this module students should be able to:
Design, construct and deploy server-side web software using a major server-side environment and language.
Design, construct and deploy client-side web software using a major client-side environment and language.
Access a database and maintain a session using server side code
Understand the concepts involved in server side programming, including security implications
Create web content which features animated graphics and interactive elements and data persistence.
Understand the place of different web technologies, graphics, platforms (e.g. mobile), databases, privacy, data security and search engine visibility for creating interactive web content
This module will look at both server side and client side web programming. For the server side, a suitable language will be used for the development of a web site using a database and sessions, and important issues such as authentication, security and latest technologies will be looked at. The client side will involve constructing web pages enabling visitors to interact with data and graphics across a range of clients available in the current market (in terms of web-browsers, and in terms of hardware devices). The importance of device neutrality, cross-platform coding, and data visibility to search engines are covered.
A suitable server side language, accessing databases
Sessions, session ids, session maintenance, cookies, HTTP parameters
Security, server side vulnerabilities, authentication, authorisation. SQL injection, tainting.
An overview of other server side technologies
What is Interactive Web Content? Tools for producing content, definitions of interactivity, what makes the web interesting and different.
Computer graphics on the web: Drawing functions, sprites, vectors, text and bitmaps.
Mechanisms for interactivity: Traditional (mouse and keyboard) and others (touchscreens, tilt sensors, accelerometers, compasses, gesture sensors, cameras, etc.).
Animating graphics: storyboards, frames, simple physics models (e.g. animating gravity in 2d).
Combining animations with interactions: web games and data visualisations.
Interacting with server-side technologies rather than user input ? asynchronous communication, separating page loads from server calls.
This module is at CQFW Level 5