Module ICP-3029:
Networks & Distributed Systems

Module Facts

Run by School of Computer Science and Electronic Engineering

10 Credits or 5 ECTS Credits

Semester 2

Organiser: Dr Saad Mansoor

Overall aims and purpose

The module aims describes the concepts, techniques and tools of distributed systems analysis, design and construction of distributed systems and applications.

Course content

  • Scalability; Reliability; Performance; Heterogeneity requirements (E3, E6), (C3, C4, C5).

  • Meta-model for distributed objects; local versus distributed objects; recognizing the differences; introduction to design changes as a result of differences. Introduction to middleware (E3, E4), (C2, C4, C5).

  • Middleware and the ISO/OSI reference model; middleware and operating systems; forms of middleware; analysis of a problem using middleware (E3, E4), (C3, C4, C5).

  • RPC, Java/RMI; Heterogenous systems (E3, E4, E6), (C2, C3, C4, C5).

  • Use of meta-object model and interface definition; Java/RMI implementation; failure handling (E3, E4), (C2, C5).

Learning outcomes mapped to assessment criteria







Analyse a simple distributed problem and select appropriate middleware.

Knows the basic rules for selecting the appropriate middleware. Knows how to perform the analysis in a tightly defined problem. Can identify incomplete requirements and perform analysis for problem.

Show understanding of operational requirements’ impact on distributed systems architecture.

Can state the basic concepts and specify requirements in a structured classification. Can proceed from a precise description to a classified set of constraints. Can derive the constraints making justifiable assumptions from a set of requirements.

Know why a meta-model and middleware may be needed for design and construction.

Knows the principle of meta-modeling and can distinguish when middleware may be required for implementation. Knows the effect of not using meta-models. Knows the effect of not using meta-models and can select as appropriate.

Demonstrate understanding of architectures using middleware.

Can define appropriate architecture for middleware. Can convert a model to architecture for one or more variants of middleware. Can convert detailed models to layered architectures for many variants of middleware

Design and construct simple distributed objects.

Can understand, build and use meta-object models. Can convert from analysis to design models for simple problem. Can identify implementation path from design. Can convert from complex analysis to design models; iterate for improvements and implement from design.

Assessment Methods

Type Name Description Weight
Examination 60
Quiz1 5
Quiz 2 5
Assignment 30

Teaching and Learning Strategy


24 hours over 12 weeks


12 hours over 12 weeks


ASSESSED assignments, including tutorial questions, problems, essays etc.

Private study 44

Transferable skills

  • Computer Literacy - Proficiency in using a varied range of computer software
  • Self-Management - Able to work unsupervised in an efficient, punctual and structured manner. To examine the outcomes of tasks and events, and judge levels of quality and importance
  • Exploring - Able to investigate, research and consider alternatives
  • Inter-personal - Able to question, actively listen, examine given answers and interact sensitevely with others
  • Presentation - Able to clearly present information and explanations to an audience. Through the written or oral mode of communication accurately and concisely.
  • Management - Able to utilise, coordinate and control resources (human, physical and/or financial)

Subject specific skills

  • Knowledge and understanding of facts, concepts, principles & theories
  • Problem solving strategies
  • Analyse if/how a system meets current and future requirements
  • Deploy theory in design, implementation and evaluation of systems
  • Knowledge of management techniques to achieve objectives
  • Specify, design or construct computer-based systems
  • Knowledge of systems architecture
  • Specify, deploy, verify and maintain information systems
  • Knowledge and understanding of computational modelling

Pre- and Co-requisite Modules

Courses including this module

Compulsory in courses: