Skip to content
UdemySoftware DevelopmentPaid courseBeginner levelCertificate

Object Oriented Programming and Design Crash Course (Udemy.com)

Learn the core features and the best practices of Object Oriented Programming

Created by: Vasiliy Zukanov

Last updated May 2024

icon
What you will learn

  • Why Object Oriented Object isn't analogous to a real-world object
  • Object as a container for behavior and state
  • Objects vs Data Structures
  • What Composition is and how it works in a big codebase
  • What Inheritance is and why it's not about code reuse
  • Favor Composition over Inheritance rule and when it doesn't apply
  • The importance of good naming
  • Object Oriented Design best practices
  • The most useful Design Patterns and their respective use cases

How it compares

Against the other 518 rated Udemy courses in Software Development on CourseDuck:

  • Rating4.5 out of 5higher than 41% of them
  • Reviews496#228 of 519 by number of reviews
  • Length4.4 hoursshorter than 67% of them
  • Last updatedMay 2024earlier than 71% of them

icon
Course Description

Most top programming languages today support Object Oriented Programming: Python, Java, TypeScript, etc. It's a powerful paradigm that helps you write clean code and handle the complexity of the modern sofware development.

In this course, you'll master the core principles of Object Oriented Programming and learn to design clean, reliable and maintainable Object Oriented systems. These tools will make you a more productive developer and open a new, intriguing perspective into the realm of software design.

You'll learn:

  • What an Object is: adopt the right Object Oriented mindset and treat objects as containers for state and behavior.

  • Core Principles of Object Oriented Programming: understand Encapsulation, Abstraction, Composition, Inheritance and Polymorphism, which are the backbone of Object Oriented Programming.

  • Dependency Injection: learn how Dependency Injection architectural pattern enables proper use of Composition in real projects.

  • Object Oriented Design: leverage higher-level Object Oriented principles to design software, focusing on creating modular and maintainable systems.

  • Design Patterns: discover the most useful Design Patterns and undestand their role in addressing common technical tasks quickly and efficiently.

This course was designed for professional developers who want to know Object Oriented Programming and Object Oriented Design at a fundamental level. From beginners, to experienced programmers, everyone will find new practical insights in this material.

Come join me on this epic journey into the depths of Object Oriented Programming and Design in this course!

icon
Udemy Discount

The discount is applied through our link. Open the course from here and Udemy's current promotional price is applied at checkout on most courses, no code to type.

Some courses are excluded from Udemy's promotions. If the price does not drop, clear your browser cookies and use the button again.

icon
Instructor Details

Vasiliy Zukanov

I'm a professional Android developer with a wide range of technical interests. After working in microelectronics industry in the past, I'm now constantly amazed at the ability of software developers to turn ideas into products.

I really like teaching and find exceptional satisfaction in explaining complicated ideas in simple words.

My courses are aimed at professional software developers who take their job seriously and aim at technical excellence.

icon
More courses by Vasiliy Zukanov

$13.99

$10.99

$11.99

$54.99

$64.99

$109.99

icon
More Software Development courses

$10.99

$109.99

$19.99

$19.99

$94.99

$94.99

icon
Reviews

4.5

496 ratings on Udemy

Select a bar to show only those reviews.Select the bar again to show every rating.

By Samuel Rodriguez on 9/18/2026

This was a great explanation of OOP. I taught myself to program back in the 1980s on my Commodore 64 and now I'm getting back into it through C++, but I'm the type of learner that needs to understand concepts from the ground up or nothing sticks in my brain. Thanks for this course!

By Valerie Etc on 8/8/2026

Very good course to refine your skills with OOP, but not suitable for a complete beginner. I made it to the last section about design and will go through the design lessons once I have a bit more experience with OOP, otherwise it is hard to follow.

By Luis Enrique León García on 2/16/2026

Estaría óptimo que incluyera laboratorios para reforzar la explicación.

By Héctor Martínez Espinosa on 7/12/2025

The instructor succeeds in clarifying high-level concepts that often go unnoticed by developers who are focused on quickly coding deliverable features. I believe that, for team collaboration, it will be very useful to share strategies or design patterns during meetings that help us solve challenges in the most appropriate way—linking the current code with the evolution it will likely undergo over the years

By Kerollos Emad on 6/12/2025

The course provides a solid introduction to the topic with comprehensive theoretical content. However, it lacks practical components. I had expected quizzes or projects that would reinforce the material and offer deeper engagement with the subject matter.

By Pawel on 5/13/2025

This is an excellent course - a real eye-opener. It made me cringe thinking about some of the code I wrote in the past. I'm definitely going to follow it up with "SOLID Principles of Object-Oriented Design and Architecture."

By Shyam Singh on 2/16/2025

The session is exceptionally well-structured, with a seamless flow that made it easy to follow. The content was comprehensive, covering all key aspects in great depth, while maintaining clarity and engagement throughout. The level of detail provided was impressive, ensuring a thorough understanding of the subject matter. Overall, it was an incredibly informative and insightful experience that exceeded expectations

By Anonymized User on 2/4/2025

This course help me truly understand how to properly implement OOP concepts. I used to have such a flawed view on how object oriented features should be used, and I also didn't understand how to properly model objects. This course clarified the purpose of OOP and allowed me to design better systems.

By Daniel Michener on 12/28/2024

I am not a software engineer but have to manage a software development program for our platform, which is based on OOP. So it was very helpful, but much more to learn. I think more real life examples would have been helpful. I found myself going to Medium to get better explanations of real life applications that made the course lectures easier to understand.

By Mihajlo Stamenkovic on 5/18/2024

I have followed Vasiliys courses for the last 5 years, and he does not disappoint in any one of them. This one is excellent as well, packed with information and within these 5 hours, not a single minute is wasted!

Showing all 10 reviews on CourseDuck

Read all 496 reviews on Udemy

icon
Quality Score

No CourseDuck member has rated this course yet. Taken it? Give each part a thumbs up or down.

Content Quality
/
Video Quality
/
Qualified Instructor
/
Course Pace
/
Course Depth & Coverage
/

Overall Score : 90 / 100