Object-oriented programming (OOP) is a cornerstone paradigm to master in today's modern era of software engineering. There are a lot of moving parts to OOP, which shouldn't be surprising, given over half a decade since its inception in the software development arena.
In this mini course, I aim to expose you to the most fundamental ideas in object-oriented programming, including the four paramount principles: encapsulation, abstraction, inheritance, and polymorphism. However, my language of choice is pseudocode to be completely language-agnostic.
The focus will be on understanding the high-level concepts in OOP instead of worrying about the implementation details of a particular language. This is a unique approach that I've taken in this course and I'm hopeful it'll help you get the gist of the concepts quicker.