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.
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)
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