Further Object-Oriented Programming - CO520

Location Term Level Credits (ECTS) Current Convenor 2019-20
Canterbury Spring
View Timetable
5 15 (7.5) DR O Chitil
Medway Spring
View Timetable
5 15 (7.5) DR Y He


COMP3200: Introduction to Object-Oriented Programming





This module builds on the foundation of object-oriented design and implementation found in CO320 to provide both a broader and a deeper understanding of and facility with object-oriented program design and implementation. Reinforcement of foundational material is through its use in both understanding and working with a range of fundamental data structures and algorithms. More advanced features of object-orientation, such as interface inheritance, abstract classes, nested classes, functional abstractions and exceptions are covered. These allow an application-level view of design and implementation to be explored. Throughout the course, the quality of application design and the need for a professional approach to software development is emphasised.


This module appears in:

Contact hours

Total contact hours:44
Private study hours: 106
Total study hours: 150

Method of assessment


90 min in course test (30%)
Coursework (30 hours) (70%)

Assessment 1 - Class Exercises (10%)
Assessment 2- Quiz (15%)
Assessment 3 - Inheritance & Polymorphism (20%)
Assessment 4 - GUI & Exception (25%)
Assessment 5 - In-class Test (30%)

Indicative reading

Indicative list, current at time of publication. Reading lists will be published annually)
"Objects first with Java – A practical introduction using BlueJ", David J. Barnes and Michael Kölling, Pearson Education, 2017, ISBN 978-1-292-15904-1.

See the library reading list for this module (Canterbury)

See the library reading list for this module (Medway)

Learning outcomes

On successfully completing the module students will be able to:

Use advanced features of an object-oriented programming language, such as inheritance and graphical libraries, to write programs.
Use object-oriented analysis, design and implementation with a minimum of guidance, to recognise and solve practical programming problems involving inheritance hierarchies.
Design appropriate interfaces between modular components.
Evaluate the quality of competing solutions to programming problems.
Evaluate possible trade-offs between alternative solutions, for instance those involving time and space differences.
Thoroughly test solutions to programming problems.
Discuss the quality of solutions through consideration of issues such as encapsulation, cohesion and coupling.

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.