CTEC2712 Web application development

Module specification

This module provides a thorough grounding in the rapidly evolving area of web technologies. With equal focus on user interface design on the ‘client-side’ or ‘front-end’ and on security and persistence in ‘server-side’ or ‘back-end’ scripting.

The module covers crucial design principles, information architecture and usability factors as well as standards compliance, accessibility, authentication/authorisation and security.

This exciting field has been driven by advances in web standards, in particular HTML5 (introduced in 2008 and accepted as a ‘living standard’ in May 2019), modular CSS (~2012) and the ECMAScript standard (ECMAScript2015 in particular) which together define the modern web platform. The web standards process enables the platform to evolve extremely quickly, and new features are released with increasing regularity.

Modern web applications typically make heavy use of server-side scripting using development languages such as PHP. This pragmatic language is used to great effect by some web developers and with catastrophic naivety by others. Web application solutions are typically implemented by teams of developers. The various roles typically undertaken will be discussed with students.

Outline Content

  1. Design principles and user experience
  2. Information Architecture
  3. Usability and accessibility
  4. HTML5, CSS3 and semantic markup
  5. Modern JavaScript and its context
  6. Responsive web design
  7. Version control systems
  8. Server-side scripting using a web development language such as PHP
  9. Persistent storage systems
  10. Common patterns of usage and failure

Learning outcomes (please indicate in brackets at the end of each learning outcome which assessment task(s) will test the achievement of the learning outcome)

  1. Show a critical understanding of information architecture, user interface design and usability principles (phase test and web project).
  2. Apply knowledge of client-side web development technologies (web project).
  3. Apply knowledge of server-side web development technologies (web project).
  4. Show a critical understanding of security protocols in web applications (phase test and web project).