Object-oriented design is the backbone of modern software engineering interviews and production codebases alike. Every large system is built from classes that encapsulate state, expose behavior through interfaces, and collaborate through well-defined patterns. This course fixes the backwards approach by teaching design thinking first, pattern mechanics second, and real-world application throughout.
| Level | Intermediate |
|---|---|
| Study Time | 14h |
| Lessons | 27 |
| Quizzes | 420 |
Course Content — 8 Chapters • 27 Lessons
Chapter 1 — OOP Foundations (3 lessons)
- Classes, Objects, and Encapsulation
- Inheritance and Polymorphism
- Abstract Classes and Interfaces
Chapter 2 — SOLID Principles (5 lessons)
- Single Responsibility Principle
- Open/Closed Principle
- Liskov Substitution Principle
- Interface Segregation Principle
- Dependency Inversion Principle
Chapter 3 — Creational Patterns (3 lessons)
- Factory and Abstract Factory
- Builder Pattern
- Singleton and Object Pool
Chapter 4 — Structural Patterns (3 lessons)
- Adapter and Facade
- Decorator Pattern
- Composite and Proxy
Chapter 5 — Behavioral Patterns (4 lessons)
- Strategy and State
- Observer and Mediator
- Command and Chain of Responsibility
- Iterator and Template Method
Chapter 6 — Classic OOD Problems: Part 1 (3 lessons)
- Design a Parking Lot
- Design an Elevator System
- Design a Library Management System
Chapter 7 — Classic OOD Problems: Part 2 (3 lessons)
- Design a Restaurant Order System
- Design a Movie Ticket Booking System
- Design a Chess Game
Chapter 8 — Advanced OOD (3 lessons)
- Design a Card Game Framework
- Design a File System
- Design an Online Shopping Cart
Curriculum
- 8 Sections
- 27 Lessons
- 10 Weeks
Expand all sectionsCollapse all sections
- Chapter 1 - OOP Foundations3
- Chapter 2 - SOLID Principles5
- Chapter 3 - Creational Patterns3
- Chapter 4 - Structural Patterns3
- Chapter 5 - Behavioral Patterns4
- Chapter 6 - Classic OOD Problems Part 13
- Chapter 7 - Classic OOD Problems Part 23
- Chapter 8 - Advanced OOD3
Instructor

