Today, the World Wide Web is a ubiquitous part of everyday life, and an attractive and effective Web presence is vital for any organisation or business. In this module, you will learn about the techniques and technologies that are used to develop usable, accessible, efficient, robust and secure Web sites. These techniques and technologies will be demonstrated by writing programs for both Web clients (typically, browsers) and Web servers. In both cases, the need for portability imposes constrains not found when writing programs for a single operating system.
Pre-requisite modules: ECM1413; Co-requisite: ECM1410
In this module, you will learn how to create programs that run on Web clients and ones that run on Web servers. The programs that run on Web clients will allow you to gain an understanding of usability and accessibility concerns, and to address these concerns by using scripting, frameworks and style-sheets to create pages that react to user input. The programs that run on Web servers will allow you to gain an understanding of efficiency, robustness and security concerns, and to address these concerns by using programming languages guided by design patterns.
INTENDED LEARNING OUTCOMES (ILOs) (see assessment section below for how ILOs will be assessed)
On successful completion of this module, you should be able to:
Module Specific Skills and Knowledge
1. Demonstrate a knowledge of the Web architecture and of design patterns for Web programs;
2. Develop programs that run on Web clients and on Web servers, and work together;
3. Discuss the difficulties in achieving usability, accessibility, efficiency and robustness when developing Web programs;
Discipline Specific Skills and Knowledge
4. Choose appropriate techniques and tools, and implement a program to meet given requirements specification;
5. Critically evaluate how well a program meets a given requirements specification;
Personal and Key Transferable / Employment Skills and Knowledge
6. Demonstrate an ability to develop usable, accessible, efficient, robust and secure Web sites;
7. Demonstrate awareness of the importance of usability, accessibility, efficiency and robustness in computer programs.
SYLLABUS PLAN - summary of the structure and academic content of the module
Client-Side Development
The Hypertext Markup Language (HTML)
The Document Object Model (DOM)
Cascading Style Sheets (CSS)
A client-side scripting language
Server-side Development
The Hypertext Transfer Protocol (HTTP)
A server-side programming language
Processing input data
Accessing databases
Managing state
Maintaining sessions
Ensuring security