Module Information

Module Identifier
Module Title
The Object Oriented Programming Paradigm
Academic Year
Semester 1
Mutually Exclusive
MSc students only
Other Staff

Course Delivery

Delivery Type Delivery length / details
Lecture 44 hours
Practical 40 hours


Assessment Type Assessment length / details Proportion
Semester Assessment Programming projects (50 hours):  3 practical assignments involving analysis, design and a Java implementation of a solution to a problem. 20% each.  60%
Semester Assessment Case study analysis.  Essay discussing a different solution to a practical problem assigned above. (2000 words)  40%
Supplementary Assessment Resubmission of failed/non-submitted coursework components or ones of equivalent value.  100%

Learning Outcomes

On successful completion of this module students should be able to:

1. Demonstrate an advanced understanding of Object Oriented analysis, design and implementation techniques

2. Evaluate problem spaces in order to appropriately apply Object-Oriented design patterns

3 Analyse Object-Oriented software solutions in a range of application areas and be able to critically evaluate their effectiveness.


This module is designed for students entering MSc (Software Engineering) , to improve familiarity with the object oriented programming paradigm.

Brief description

This module covers the Object-Oriented programming paradigm which has become ubiquitous in recent years.

This is an approach to Software Engineering that models a system as a group of interacting objects. Each object represents some entity of interest in the system being modeled, and is characterized by its class, its state (data elements), and its behavior.

This module covers Object-oriented analysis, software design and programming languages and contrasts this with other paradigms.


1. Introduction. What is the Object-Oriented paradigm? How does it apply in analysis, design and programming languages? History of the concept (2 lectures)

2. Object-Oriented Data modeling. UML notations. Case studies. (4 lectures)

3. Object Oriented languages (using Java as a specific example). Basic constructs. Case studies of working systems. Robustness and reliability (30 lectures)

4. Design patterns. History. Reuse. Software design patterns and frameworks. Case studies (8 lectures)

Module Skills

Skills Type Skills details
Application of Number The application of number is important in this area of information technology
Communication In case study analysis
Improving own Learning and Performance
Information Technology Information Technology is central to this module
Personal Development and Career planning Gives students a broader understanding of the field
Problem solving In all assessments
Research skills In case study analysis
Subject Specific Skills Subject-oriented analysis, design and programming skills
Team work

Reading List

General Text
Booch, Grady. (2007.) Object-oriented analysis and design with applications /Grady Blooch...[et al.]. 3rd ed. Addison-Wesley Primo search Fowler, Martin (2004 (various p) UML distilled :a brief guide to the standard object modeling language /Martin Fowler. 3rd ed. Addison-Wesley Primo search Horton, Ivor. (c2011.) Ivor Horton's beginning Javaª, Java 7 edition /Ivor Horton. Alternatively, any book on beginning Java that includes Abstract Classes and Interfaces. Several options are available in the library. Java 7 ed. Wiley Primo search Smith, Jason McColm. (2011.) Elemental design patterns /Jason McColm Smith. Addison-Wesley Primo search


This module is at CQFW Level 7