Study-Unit Description

Study-Unit Description


CODE CIS1054

 
TITLE Principles of Web Application Architecture

 
UM LEVEL 01 - Year 1 in Modular Undergraduate Course

 
MQF LEVEL 5

 
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 by introducing the 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:

- Explain HTTP/S from a web development perspective;
- Explain resource addressing;
- Explain the internal structure and processes of a web browser;
- Apply concepts and practices related to client-side technologies;
- Apply concepts and practices related to server-side scripting languages;
- Synthesise security concerns in data-driven dynamic web applications;
- Synthesise 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.

 
STUDY-UNIT TYPE Lecture and Independent Study

 
METHOD OF ASSESSMENT
Assessment Component/s Assessment Due Sept. Asst Session Weighting
Project SEM2 Yes 100%

 
LECTURER/S Nicholas Galea

 

 
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 2024/5. It may be subject to change in subsequent years.

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