This module is offered in 2020-21.


The aims of this module are:

  • To introduce students to object-oriented (OO) modelling, design and programming concepts demonstrated using a high-level OO programming language.
  • To use a set of programming assignments as a vehicle for consolidating practical skills in OO modelling, design and programming.

Learning Outcomes

On successful completion of this module, the student should:

  • Have mastered concepts of OO modelling, design, and programming and should have attained practical skills in applying these concepts in a high-level OO programming language.
  • Be able to design an OO model and implement the model in a high-level OO language using objects, classes, inheritance, collections, conditionals, iteration.
  • Be able to implement simple graphical user interfaces and networked programs.
  • Have a working knowledge of common OO design patterns.
  • Be conversant with effective documentation, layout, debugging and testing.
  • Be able to use OO programming and development tools.


  • Variables and data types, choice and iteration, objects, attributes, method and class structures, object references, inheritance, object-oriented modelling, UML, I/O mechanisms including textual and graphical interfaces and networking, design patterns, exception handling, development and testing strategies and commenting and documentation techniques.

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: 19 Oct 2020.