This course focuses on the core concepts of object-oriented programming (OOP) and design using Python. It gives you everything you need to understand and master object-oriented concepts such as classes, objects, data abstraction, methods, and more. The primary aim of the course is to enable the students to tackle complex programming problems, making good use of the OOP paradigm to simplify the design and implementation process. To get the most from this course you need to be at an intermediate level in Python programming. If you don’t know Python at all, we suggest you check out our Python Beginner course.