|Assessment Type||Assessment length / details||Proportion|
|Semester Exam||1.5 Hours Written Examination||40%|
|Semester Assessment||Web Programming Project Approx 60 hours||60%|
|Supplementary Exam||1.5 Hours Written Examination||40%|
|Supplementary Assessment||Web Programming Project||60%|
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.
|Skills Type||Skills details|
|Application of Number|
|Communication||Building a web site is a form of communication.|
|Improving own Learning and Performance||Security issues, web trends.|
|Personal Development and Career planning||Many real world issues come into the field of web On the assignment.|
|Problem solving||In the assignment and practical classes.|
|Research skills||In both assignment and examination.|
|Subject Specific Skills||Web programming is a key part of Computer Science.|
|Team work||There is no element of group work in this module.|
This module is at CQFW Level 5