"The structure, the practice exams, the instructor — all top tier. Passed first try."
Course Outline
What the programme covers, module by module.
Module 1: Introduction to Object-Oriented Programming
- OOP concepts
- Procedural vs object-oriented programming
- Benefits of OOP
- Object-oriented thinking
- Real-world modelling
- OOP applications
Module 2: Classes & Objects
- Class concepts
- Object concepts
- Defining classes
- Creating objects
- Object state
- Object behaviour
Module 3: Attributes & Methods
- Instance attributes
- Class attributes
- Methods
- Method parameters
- Return values
- Object interactions
Module 4: Constructors & Object Initialisation
- Constructors
- Object initialisation
- Default constructors
- Parameterised constructors
- Initial object state
- Constructor practices
Module 5: Encapsulation
- Encapsulation principles
- Data hiding
- Access modifiers
- Getters and setters
- Controlled access
- Protecting object state
Module 6: Inheritance
- Inheritance concepts
- Base classes
- Derived classes
- Reusing behaviour
- Extending classes
- Inheritance hierarchies
Module 7: Method Overriding
- Overriding concepts
- Inherited methods
- Customised behaviour
- Parent method access
- Runtime behaviour
- Overriding practices
Module 8: Polymorphism
- Polymorphism concepts
- Compile-time concepts
- Runtime polymorphism
- Method overloading
- Method overriding
- Polymorphic references
Module 9: Abstraction
- Abstraction principles
- Abstract classes
- Abstract methods
- Implementation hiding
- Generalised behaviour
- Abstraction design
Module 10: Interfaces
- Interface concepts
- Defining interfaces
- Implementing interfaces
- Interface contracts
- Multiple interfaces
- Interface-based design
Module 11: Object Relationships
- Association
- Aggregation
- Composition
- Dependency
- Relationship modelling
- Choosing relationships
Module 12: Composition Over Inheritance
- Composition principles
- Delegating behaviour
- Flexible object design
- Reducing inheritance
- Reusable components
- Composition strategies
Module 13: Static Members & Utility Classes
- Static attributes
- Static methods
- Class-level behaviour
- Utility classes
- Shared data
- Appropriate static usage
Module 14: Object Lifecycle & Memory Concepts
- Object creation
- Object references
- Object lifetime
- Memory concepts
- Resource management
- Garbage collection concepts
Module 15: Exception Handling in OOP
- Exception concepts
- Handling errors
- Custom exceptions
- Exception propagation
- Resource cleanup
- Robust object design
Module 16: Generics & Reusable Components
- Generic programming concepts
- Generic classes
- Generic methods
- Type parameters
- Reusable components
- Type safety
Module 17: SOLID Principles Fundamentals
- Single Responsibility
- Open/Closed
- Liskov Substitution
- Interface Segregation
- Dependency Inversion
- Maintainable software design
Module 18: UML & Object Modelling
- UML fundamentals
- Class diagrams
- Attributes and methods
- Relationships
- Inheritance representation
- Modelling software structures
Module 19: Object-Oriented Design Principles
- Separation of concerns
- Low coupling
- High cohesion
- Information hiding
- Reusability
- Extensibility
Module 20: Introduction to Design Patterns
- Design pattern concepts
- Creational patterns
- Structural patterns
- Behavioural patterns
- Pattern selection
- Common pattern applications
Module 21: Testing & Refactoring OOP Code
- Unit testing concepts
- Testing classes
- Testing object behaviour
- Code smells
- Refactoring
- Improving maintainability
Module 22: Practical Object-Oriented Application Design
- Requirement analysis
- Identifying classes
- Defining responsibilities
- Modelling relationships
- Designing interactions
- Structuring maintainable applications
Who it's for & what's included
Pick a delivery method to see exactly who it suits and everything you receive.
Classroom
Best for learners who want face-to-face tuition and to network with peers in person.
Everything you get
- ✓ Live instructor on-site
- ✓ Printed workbook & materials
- ✓ Group exercises & case studies
Online Instructor-Led
Best for learners who want a live instructor and a fixed schedule, without the travel.
Everything you get
- ✓ Live instructor via video call
- ✓ Digital workbook & resources
- ✓ Session recordings
Self-Paced
Best for self-motivated learners who need maximum flexibility around work and life.
Everything you get
- ✓ On-demand video lessons
- ✓ Interactive quizzes
- ✓ 24/7 access on any device
Course Overview
The Object Oriented Programming program equips working professionals with practical skills for designing structured, modular, and maintainable software. Participants learn classes, objects, constructors, encapsulation, inheritance, polymorphism, abstraction, interfaces, object relationships, method overloading and overriding, composition, exception handling, SOLID fundamentals, UML concepts, common design principles, testing, refactoring, and practical object-oriented application design.