COMPM022 - Software Abstractions and Systems Integration

This database contains the 2017-18 versions of syllabuses.

Note: Whilst every effort is made to keep the syllabus and assessment records correct, the precise details must be checked with the lecturer(s).

Code COMPM022 (Also taught as COMPGS02)
Year 4

Practical experience of software design, programming, testing and debugging at least equivalent to UCL 3rd year undergraduate study. Since COMPM022 involves software development activities that build upon an industrial project started in COMPM014, we highly recommend students follow COMPM014 before following COMPM022. We also recommend students to have followed COMPM024 or alternatively to have good working experience of software development tools and environments. 

Term 2
Taught By Wolfgang Emmerich (33%)
Emmanuel Letier (33%)
Dean Mohamedally (33%)

Students will develop skills and knowledge to design, implement and integrate large-scale software systems from heterogeneous components and services. Emphasis will be put on fundamental principles and practical issues of system integration projects. Students will also develop essential research skills needed to stay at the leading edge of software development throughout their career.

Learning Outcomes

By the end of this module, students should be able to demonstrate knowledge and critical awareness of techniques and technologies for systems integration, to apply such knowledge to the development of a substantial system by teams of developers, to independently research and evaluate new techniques and technologies for system integration, and communicate their evaluation to a variety of stakeholders in a professional environment.


Scaling Agile
Agile Architectures
Enterprise Integration Patterns
SOLID Design Principles
Polylingual Software Systems
Testable Architectures

Method of Instruction

This module is largely problem-based and self-directed. It involves software development activities where students will work in small groups on a substantial system integration project for a client. Lectures and reading materials will be provided to facilitate these activities and reflect on the work done.


The module has the following assessment components:

  • Coursework component 1 (50%)
  • Coursework component 2 (50%).

To pass this module, students must:

  • Obtain an overall pass mark of 50% for all components combined;
  • Obtain a minimum mark of 40% in each component worth ? 30% of the module as a whole.


Lecture notes and readings will be given during the course.

Reading list available via the UCL Library catalogue.