Module Catalogues

Software Architectures

Module Title Software Architectures
Module Level Level 4
Module Credits 5.00
Academic Year 2025/26
Semester SEM2

Aims and Fit of Module

The aim of this module is to train students on the principles of software architectures based on distributed computing technologies, design of complex applications and deployment techniques. This ranges from conventional techniques such as Java RMI to Web-based middleware techniques such as Web services, and enterprise computing technologies. The module equips students with experiences and skills of applying these techniques to complex distributed system development. It enables students to understand the influence of artificial intelligence techniques and evaluate their environmental and societal impact on the solutions to sophisticated distributed systems. It is a compulsory module for MSc Applied Informatics and MSc Financial Computing.

Learning outcomes

A. Understand and design architectures for complex distributed software systems; B. Effectively design and implement a distributed computing system to specifications in a creative and consistent manner; C. Critically evaluate distributed systems using relevant technologies; D. Critically analyse the practical and theoretical problems which exist in distributed computing systems; E. Participate in the legal, social, ethical and professional framework in the development of distributed systems; F. Analyse the influence of artificial intelligence techniques and evaluate their environmental and societal impact on the solutions to sophisticated distributed systems, and minimise adverse impacts.

Method of teaching and learning

Formal lectures: Students will be expected to attend two hours of formal lectures plus two hours of supervised lab session in a typical week. In some weeks, in lieu of lectures, there will be seminars in which recent publications relevant to the lectures are discussed. Towards the end of the module, students will have the opportunity to present their projects in front of the class. Private study: In a typical week, students will be expected to devote eight hours of unsupervised time to private study. The time allowed per week for private study will typically include four hours for revision of course material and background reading, with four hours for completion of practical work. Assessment: The assessment consists of two coursework: coursework one is a research report in which students need to conduct a in-depth research of relevant literature, evaluate existing techniques and analyse the impact of applying artificial intelligence techniques on the development of complex distributed systems. Coursework two is a group-based project on the design, development and evaluation of a distributed system. Both the quality of the group work and individual contribution will be assessed.