Learning Outcomes

The aim of this module is to extend the student's understanding of Web-based programming techniques, and give them practical experience in the use of two different approaches to the creation of E-Commerce applications.

After completing the module, students will be expected to be able to:

1. Describe the main requirements for E-commerce Applications and the issues involved in their design.
2. Evaluate the relative strengths of design approaches, components and tools used in the creation of E-Commerce applications.
3. Contrast the roles of client-side and server-side programming techniques
4. Apply suitable database access technologies.
5. Design and implement n-tier applications.
6. Incorporate consideration of Human Computer Interface and accessibility issues in the design of Web applications.
7. Understand common security threats to web applications and implement techniques for protecting against them.

Outline Syllabus

The syllabus is designed to enable students from a variety of different computing backgrounds to become competent developers of web applications in a major contemporary web development system using different design philosophies. Throughout the module themes will be illustrated using real world application. Students will also develop a range of partial and complete web applications in laboratory classes and assignments.

An examination of the basics of programming web applications

. HTML Forms, Controls, formatting and standards
. Fundamentals and roles of client-side programming
. Fundamentals of server-side programming
. HCI and accessibility in the context of web site design.

A detailed examination of ASP.NET web forms

How ASP.NET web forms work and in what ways this approach represented a new departure in web application development, covering areas such as

. Web forms and controls
. Event driven web programming
. Data validation
. Database access and data controls
. N tier development in ASP.NET
. An examination of the major components of ASP.NET, such as Master Pages, User Controls, Site Navigation etc
. The programming language C#


THE ASP.NET MVC approach

A consideration of the theoretical foundation of Model View Controller based application frameworks, using ASP.NET MVC as an example.

. Model View Controller and related design patterns (MVP, MVVM) in web applications
. ASP.NET MVC based web applications
. View engine alternatives
. Test Driven Development


Richer Web Applications and AJAX

AJAX programming techniques enable more responsive and richer web applications. The course will examine the basic techniques for AJAX programming and the use of some of the major AJAX libraries.

. Basics of AJAX
. AJAX and ASP.NET

Secure Programming for the Web
An examination of the security threats most commonly faced by web applications.
. Common external threats and how to mitigate them
.Common faults in web applications and how to avoid them