Module Catalogues

Software Architectures

Module Title Software Architectures
Module Level Level 4
Module Credits 5.00

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.