Module Information

Module Identifier
CSM2120
Module Title
The Object Oriented Programming Paradigm
Academic Year
2017/2018
Co-ordinator
Semester
Semester 1
Pre-Requisite
MSc students only
Other Staff

Course Delivery

Delivery Type Delivery length / details
Practical 10 x 2 Hour Practicals
Lecture 20 x 2 Hour Lectures
 

Assessment

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.

Aims

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.

Content

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

Notes

This module is at CQFW Level 7