• CMPU2016
  • Object Oriented Programming

  • Credits (ECTS): 10
  • Computing

Modules are delivered
as part of a programme.
To apply for the
programme,
see the DIT website

Module Description

This module develops the students' programming and problem solving skills, progressing from procedural to object-oriented programming. Topics include the principles, practices, and applications of programming in object-oriented environment with applications to business and scientifically oriented problems. The techniques and language features of object-oriented design are implemented in programming projects. Emphasis is placed upon development of well-designed, efficient, maintainable object-oriented software.

Module Aims

The aim of this module is that the student become familiar with Object Oriented Programming concepts and implement these concepts in elementary object oriented programs.

Indicative Syllabus

Comparison of Procedural Programming with OOP
Review of procedural programming. Problems with procedural programming and the need for OOP
Object-Oriented Principles and Concepts
Introduction to class diagrams and OOP concepts.
Relationships, Inheritance, Multiple Inheritance, Abstract Classes.
Object Oriented Programming Language Constructs
Abstract data types, classes, objects, messages, Instance variables, methods, encapsulation, private and public access, class variables, constructors, class interface, class implementation.
Classes and objects, private and public class members, constructors, initialisation list, static data members, overloading, inline, separation of interface and implementation.
Function overloading. Operator overloading.
Destructors.
Virtual functions and friend functions.
Composition.
Inheritance: Types of Inheritance, Construction, Destruction, Multiple Inheritance.
Polymorphism.
Abstract Classes.
String class and character arrays. Pointers and dynamic memory.
Generic Types, Static and Dynamic Binding, Polymorphism, Overloading.
Exception handling.
Streams and files.
Templates: functions and classes. Genericity.
Collections frameworks.
Program Libraries.
Testing techniques for object oriented programs.

Please note that the catalogue is provided as a guide to modules in DIT. Not all modules listed will necessarily be offered every year and new modules may also be added. Information subject to change. For detail on specific programmes/modules please contact the relevant School directly.