Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
OOP From Engineering Perspective (بالعربي)
Rating: 4.7 out of 5(20 ratings)
431 students

OOP From Engineering Perspective (بالعربي)

Tackle OOP principles, learn about coupling, cohesion and breaking dependencies and apply SOLID with design patterns
Last updated 5/2026
Arabic
Arabic [Auto],

What you'll learn

  • differentiate between structured programming and object oriented programming and when to use what
  • Deep understanding of the object oriented programming paradigm
  • Learn about coupling, cohesion, breaking dependencies and how to write maintainable software
  • Beat the fear and ambiguity of SOLID principles and how it's related to OOP principles
  • Getting onboarded to some design patterns and their usage

Course content

7 sections20 lectures3h 19m total length
  • Introduction3:57
  • Road Map4:16

Requirements

  • little experience with any programming language
  • Awareness about object oriented programming

Description

Why This Course

  • A lot of courses talking about object oriented programming but they use the academic approach of illustrating the content, but here we are going beyond that highlights the science behind each concept.

  • This course is a summary of multiple books in object oriented area like Object The Object-Oriented Thought Process, 5th Edition & Clean Architecture: A Craftsman's Guide to Software Structure and Design

  • This course is taking a simple manner, show case based & problem first then let’s check the solution.

  • This course is combining OOP, SOLID & Design Patterns and how they are related.

How?

This course is going through the object oriented programming paradigm and its' principles (encapsulation, inheritance, abstraction & polymorphism) from real engineering perspective that shows exactly what is the purpose and the right implementation of each principle apart from the academic content.

We are starting with looking into a problem statement and looking first how we can implement it with non OOP solution and then going through each OOP principle and how we can apply it in the right way with highlighting on pitfalls developer can fall into in daily work with discussing how developer can break dependency between classes/modules and reducing the coupling and increasing the cohesion of his implementation.

While we are moving from principal to another we will highlight one of the SOLID principles that relates to OOP principle and show how they are connected, and show how some design patterns are existed to help us to follow OOP and SOLID, patterns like Strategy, Factory, Builder, Singleton.

There is an opportunity to hands on with course lectures, write your own code and apply the design patterns, as there is an initial repo for the project you can clone and work with me while I am moving from topic to topic.


For Who?

This course designed mainly for computer science students or fresh graduates who is taking a baby steps on their career path to help them taking a real sensation of how these academic concepts affect professional daily work activities, but it will also help any developer who is still having problem dealing with these concepts to tackle them.


Prerequisites

Not much prerequisites for this course, it’s just a little experience with any programming language and awareness of object oriented programming.


What you will gain & able to do after  taking the course

  • Deep understanding of object oriented programming paradigm

  • Gain more confidence while you working on your daily tasks and being able to identify wrong implementation and what is the fix.

  • Beat the fear and ambiguity about SOLID and how to apply them properly.

  • How to build more sustainable and maintainable solutions and breaking dependencies.

  • Getting little hands on experience with design patterns


Who this course is for:

  • Any computer science student who knows the basics of OOP and need to deep dive how this affect the way of thinking
  • Any developer who still straggling with conceapts like OOP, SOLID and design patterns