Module Information

Module Identifier
CS25320
Module Title
Programming for the Web
Academic Year
2017/2018
Co-ordinator
Semester
Semester 1
Pre-Requisite
Other Staff

Course Delivery

Delivery Type Delivery length / details
Lecture 20 x 1 Hour Lectures
Practical 6 x 2 Hour Practicals
 

Assessment

Assessment Type Assessment length / details Proportion
Semester Exam 1.5 Hours   Written Examination  30%
Semester Assessment Web Programming Project  Approx 60 hours  70%
Supplementary Assessment Resit failed examination and/or resubmission of failed/non-submitted coursework components or ones of equivalent value. Up to 52 hours.  100%

Learning Outcomes

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

Brief description

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.

Content

The web server, server side and client side coding compared and contrasted.

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

Latest 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).

Collision detection.

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.


Notes

This module is at CQFW Level 5