Object Oriented Programming

Description

This module provides an introduction to the object-oriented paradigm and develops in learners the ability to create loosely coupled, highly cohesive software artifacts comprised of robust, maintainable and reusuable components.

Learning Outcomes

  1. Understand the core principles of the object-oriented paradigm and their application to software development.

  2. Explain the concepts of abstraction, encapsulation, delegation, composition, inheritance and polymorphism and apply these concepts correctly in an object-oriented design.

  3. Implement abstraction, encapsulation, delegation, composition, inheritance and polymorphism in an object-oriented programming language.

  4. Use Unified Modelling Language (UML) class, sequence and use-case diagrams to represent the structure, interaction and usage of an object-oriented design.

  5. Develop scalable multithreaded applications using concurrent programming techniques and data structures.

Credits
05
% Coursework 100%