Study-Unit Description

Study-Unit Description


CODE CIS1054

 
TITLE Principles of Web Application Architecture

 
LEVEL 01 - Year 1 in Modular Undergraduate Course

 
ECTS CREDITS 4

 
DEPARTMENT Computer Information Systems

 
DESCRIPTION This study-unit introduces core web programming principles, presenting opportunities and limitations arising from web-based technologies. The unit starts off by introducing fundamentals of HTTP, as well as issues and practices surrounding aspects such as state and session management as well as resource addressing. These topics will be tackled from an architectural point of view addressing approaches and techniques that are necessary to take full advantage of this complex distributed platform. The unit proceeds through an in-depth discussion of the browser and its anatomy before moving on to client-side and server-side scripting, the use of data stores driving dynamic web applications (e.g. JSON, XML, relational database), the use of templating engines as well as client-side techniques for document tree manipulation (DOM). Subsequently students will be introduced to debugging techniques and tools that can be used to troubleshoot both client and server-side code. The course revolves around best practices, official standards (W3C) and experiences from the field.

Study-unit Aims:

This study-unit will provide students with foundational knowledge on various standards, technologies and languages used in web development. Students will also be exposed to the shifts in paradigm required to design and build web systems as opposed to traditional desktop applications. This unit also supports other courses throughout the whole programme.

Learning Outcomes:

1. Knowledge & Understanding:

By the end of the study-unit the student will be able to:

- Understand HTTP/S from a web development perspective;
- Understand resource addressing;
- Understand the internal structure and processes of a web browser;
- Understand concepts and practices related to client-side technologies;
- Understand concepts and practices related to server-side scripting languages;
- Understand security concerns in data-driven dynamic web applications;
- Explain the main considerations behind domain management and web hosting options;

2. Skills:

By the end of the study-unit the student will be able to:

- Create efficient data-driven dynamic web applications;
- Write maintainable and efficient code following SoC (Separation of Concerns) and DRY (Don’t Repeat Yourself) principles;
- Handle user interaction securely through client and server-side validation;
- Analyse and handle page elements using client-side scripts;
- Model and access data using server-side logic;
- Generate HTML pages using templating engines;
- Manage domain registration;
- Reason about hosting options;
- Handle DNS records;

Main Text/s and any supplementary readings:

- Shklar and Rosen. Web Application Architecture: Principles, Protocols and Practices, Wiley, 2009.
- Freeman, Robson, Head First HTML5 Programming: Building Web Apps with JavaScript, O'Reilly Media, 2011, ISBN-13: 978-1449390549.

 
STUDY-UNIT TYPE Lecture and Independent Study

 
METHOD OF ASSESSMENT
Assessment Component/s Assessment Due Resit Availability Weighting
Project SEM2 Yes 100%

 
LECTURER/S Christopher Porter

 
The University makes every effort to ensure that the published Courses Plans, Programmes of Study and Study-Unit information are complete and up-to-date at the time of publication. The University reserves the right to make changes in case errors are detected after publication.
The availability of optional units may be subject to timetabling constraints.
Units not attracting a sufficient number of registrations may be withdrawn without notice.
It should be noted that all the information in the description above applies to study-units available during the academic year 2021/2. It may be subject to change in subsequent years.

https://www.um.edu.mt/course/studyunit