Advanced Object-Oriented Programming - CO882

Looking for a different module?

Module delivery information

Location Term Level1 Credits (ECTS)2 Current Convenor3 2020 to 2021
(version 3)
Autumn and Spring 7 15 (7.5) DR C Perez Delgado checkmark-circle


Building upon Introduction to Object-Oriented Programming, this module covers the design and implementation of high-quality software using OO techniques. Systems are modelled as configurations of objects communicating with one another. Techniques (e.g. inheritance) are introduced which allow objects to play different roles within a system. These two concepts are key to the support for adaptation and reuse that OOP provides. Much emphasis will be placed on gaining a deep understanding of these concepts and applying them in practice by developing programs in Java. The remainder of the module will explore software component frameworks, specifically those that come packaged with Java, placing most emphasis on the frameworks to support the structuring and manipulation of data (data structures and algorithms).


This module appears in the following module collections.

Contact hours

Total contact hours: 25
Private study hours: 125
Total study hours: 150

Method of assessment

13.1 Main assessment methods
Written assessment (40%)
Two programming assessments with reports (60% total)

13.2 Reassessment methods
Like for like.

Indicative reading

Barnes, D.J. and K├Âlling, M. (2017) Objects First with Java - A Practical Approach using BlueJ (6th Edition): Pearson Education

See the library reading list for this module (Canterbury)

Learning outcomes

8. The intended subject specific learning outcomes.
On successfully completing the module students will be able to:
8.1 develop non-trivial computer programs following recognized object-oriented principles.
8.2 critically evaluate the suitability of a commercially-relevant implementation language in the solution of particular problems.
8.3 describe concepts used in programming and to discuss programming using vocabulary from professional computer science.
8.4 choose and use appropriate data structures and algorithms in the construction of programs.
8.5 apply principled design techniques in the construction of software.
8.6 choose and use appropriate software testing strategies.
8.7 critically reflect on both the process and outcomes of software creation.

9. The intended generic learning outcomes.
On successfully completing the module students will be able to:
9.1 communicate with other professionals using appropriate technical vocabulary.
9.2 critically reflect on and evaluate professional practice.
9.3 write about technical material in an appropriate voice.
9.4 discover and use professional and technical documentation.


  1. Credit level 7. Undergraduate or postgraduate masters level module.
  2. ECTS credits are recognised throughout the EU and allow you to transfer credit easily from one university to another.
  3. The named convenor is the convenor for the current academic session.
Back to top

University of Kent makes every effort to ensure that module information is accurate for the relevant academic session and to provide educational services as described. However, courses, services and other matters may be subject to change. Please read our full disclaimer.