Skip to main content

Advanced OOP Concepts


Coursebank
Enrollment in this course is by invitation only

Course Overview

This course introduces the additional principles and practices of Object Oriented (OO) programming. Topics include inheritance and multiple inheritance; polymorphism; software design techniques; and problem solving. The concepts will be reinforced by application in the Python programming language.

What You Will Learn

At the end of this course, you will be able to:

  • become familiar with the Object Oriented paradigm for use in future programming projects
  • understand the concepts of inheritance and polymorphism and how they can be used to implement programming solutions
  • learn software design techniques based on the OO paradigm
  • solve problems by applying the concepts under the OO paradigm

Course Content

Week 1: Review of Object Oriented Concepts

13 Videos | 1 Activity

13 Videos

  • Welcome to the course!
  • Classes
  • Objects
  • Abstraction
  • Encapsulation
  • Summary

1 Activity

  • Exit Assessment

Week 2: Inheritance and Polymorphism

6 Videos | 1 Activity

6 Videos

  • Definition
  • Examples
  • Application in Python
  • Summary

1 Activity

  • Exit Assessment

Week 3: Object Oriented Design

5 Videos | 1 Activity

5 Videos

  • What is Object Oriented Design?
  • Single-responsiblity Principle
  • Open-closed Principle
  • Liskov Substitution Principle
  • Interface Segregation Principle
  • Dependency Inversion Principle
  • Summary

1 Activity

  • Exit Assessment

Week 4: Problem Solving in the OO Environment

9 Videos | 1 Activity

9 Videos

  • Definition
  • Examples and Application in Python
  • Technical Debt (2 videos)
  • High Cohesion (2 videos)
  • Loose Coupling (2 videos)
  • Key Takeaways

1 Activity

  • Exit Assessment
  1. Course Number

    MAD004
  2. Classes Start

    TBA
  3. Estimated Effort

    2 hrs./week (8 hours)
  4. Price

    Free