Module Information

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

Course Delivery

 

Assessment

Assessment Type Assessment length / details Proportion
Semester Assessment Web Programming Project  Approx 60 hours  60%
Semester Exam 1.5 Hours   Written Examination  40%
Supplementary Assessment Web Programming Project  60%
Supplementary Exam 1.5 Hours   Written Examination  40%

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.

Module Skills

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.
Information Technology Inherent
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.

Notes

This module is at CQFW Level 5