This module is offered in 2020-21.


The aims of this module are:

  • To introduce the concepts of software design and programming.
  • To develop skills in the use of a modelling tool and a high-level object-oriented language.

Learning Outcomes

On successful completion of this module, the student should:

  • Be able to design simple object-oriented (OO) models using an OO design notation and supporting software tools.
  • Be able to implement an OO model in a high-level OO language using objects, classes, inheritance, arrays, conditionals and iteration.
  • Be conversant with effective documentation, layout, debugging and testing.


  • Software development: nature of software, software lifecycle, models, design, programming, testing and debugging
  • Object-oriented concepts: objects, attributes, methods, classes, identity, references, inheritance
  • UML: UML diagrams, object-oriented model design with a UML tool
  • Java: Classes, objects, types, control flow, libraries, inheritance, documentation with JavaDoc, using Java from command line and an Integrated Development Environment, unit tests

Compulsory Elements

This module has no compulsory elements beyond those common to all sub-Honours modules (tutorials, exercise classes, mark of 4 in each assessment component).

Module Delivery

Back to top

Last Published: 19 Oct 2020.