Object-Oriented Programming and Design Crash Course

Create clean, modular and maintainable software using Object-Oriented Programming Languages

Dive into the world of Object-Oriented Programming (OOP) and Object-Oriented Design (OOD) with this course, tailored to help you master the principles that stand at the core of modern software development.

What you’ll learn

  • Why Object-Oriented Programming is NOT about translating real-world objects into software.
  • The core features of Object-Oriented Programming languages.
  • What Composition is and how to resolve Composition challenges in large codebases.
  • What Inheritance is and why it’s NOT about code reuse.
  • Composition vs Inheritance use cases and trade-offs.
  • Main best practices of Object-Oriented Design.
  • Design Patterns and their respective use cases.

Course Content

  • Introduction –> 2 lectures • 6min.
  • Object –> 6 lectures • 39min.
  • Composition –> 5 lectures • 46min.
  • Inheritance –> 6 lectures • 1hr 8min.
  • Object Oriented Design –> 5 lectures • 27min.
  • Design Patterns –> 6 lectures • 1hr.
  • Course Summary –> 1 lecture • 5min.

Auto Draft

Requirements

Dive into the world of Object-Oriented Programming (OOP) and Object-Oriented Design (OOD) with this course, tailored to help you master the principles that stand at the core of modern software development.

Most of the top programming languages today support Object-Orientation. However, this paradigm is not as simple as it might seem initially. To get the most out of Object-Oriented languages, it’s crucial to master the core concepts of Object-Oriented Programming and understand the Object-Oriented Design’s methodology and techniques.

In this course you’ll learn:

  • What Object-Oriented Objects are: Adopt the right Object-Oriented mindset to avoid the common pitfall of trying to mirror the real world into software.
  • Core principles of Object-Oriented Programming: Learn about Encapsulation, Abstraction, Composition, Inheritance and Polymorphism, and see how they form the backbone of Object-Oriented Programming.
  • Object-Oriented Design methodology: Explore how to approach software design from an Object-Oriented perspective, focusing on creating modular and maintainable systems.
  • The pillars of Object-Oriented Design: Discover the core aspects of software design and focus on the important parts.
  • Design Patterns: Learn the most useful and impactful Design Patterns and understanding their role in addressing common technical requirements in a standardized and efficient way.

This course was designed for developers who want to understand OOP and OOD, from beginners, who just start their software development journey, to experienced programmers aiming to refine their fundamental knowledge.

After completing this course, you’ll be comfortable leveraging the most powerful features of OO languages in your own projects to build reliable and maintainable systems.

I invite you to join me on this journey into the intricate world of OOP and OOD in this course!

Get Tutorial