This module is offered in 2019-20.


The aims of this module are:

  • To reinforce the computational thinking and problem solving skills gained in CS5002.
  • To introduce development practices that support the development of non-trivial software applications developed individually as well as in teams.
  • To introduce a number of different software tools, libraries and APIs that can form a basis for software development in the future, e.g., in dissertation projects.

Learning Outcomes

On successful completion of this module, the student should:

  • Have experience in developing non-trivial systems alone or in small teams.
  • Be able to develop systems rapidly using a set of tools they are readily familiar with.
  • Understand the process of developing larger, non-trivial systems.


The exact project details depend on the projects that are used each year and are therefore subject to change. However, projects are likely to include most of the following elements:

  • Requirements, design and project planning.
  • Software reuse: libraries, tools and APIs.
  • Project management, software version control, testing, documentation.
  • Final reporting and critical reflection.

Compulsory Elements

This module has no compulsory elements beyond those common to all modules (mark of 4 in each assessment component).

Module Delivery

Back to top

Last Published: 21 Jun 2019.