Current students

COMPM022 - Software Abstractions and Systems Integration

This database contains 2016-17 versions of the syllabuses. For current versions please see here.

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 COMPGS02/M022 involves software development activities that build upon an industrial project started in COMPGS01/M014, we highly recommend students follow COMPGS01/M014 before following COMPGS02/M022. We also recommend students to have followed COMPGS04/M024 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.