Are you a beginning Python programmer who wants to prevent spaghetti code by organizing code better? Do you often have to work with unstructured code that is hard to understand?
Or are you a developer that brings experience from other programming languages and want to learn how to use OOP in Python?
Then this course is for you!
The 'Object Oriented Programming with Python' course guides you through an exercise, starting with a small, naive approach that gradually is turned into a well structured Object Oriented Design. Each step of the journey introduces new challenges, communicates intended changes with UML and uses tools from the OOP toolkit to solve problems.
Target audience
Developers who especially benefit from this course, are:
Beginner Python developers who want to organise their code better by using OOP
Developers that bring experience from another programming language who want to learn using OOP with Python
Developers that inherit spaghetti code from others at work and need bring structure to it
Challenges
You have heard that object oriented programming can help you to structure your code. But many tutorials overwhelm you with technical blah blah and seem to focus too much on how to implement OOP features. But if you do not understand why to do things, you will use OOP without without using its full potential.
This can lead to writing ineffective code or worse: give up on the idea of OOP.
This course is different! It starts with the absolute beginning and introduces common challenges that are solved by using Object Oriented Programming. This way, you will learn OOP from the ground up, step by step.
What can you do after this course?
You will organize your code better so changes in the future do not cause nightmares anymore
You can visualize and communicate your code to your colleagues with UML, before writing a single line of code
Your code will be organized in small, predictable and testable units
Topics
Introduction OOP: Understanding the problems that are solved with OOP
Classes and objects: Create classes, the class initializer, and instantiate objects
UML: Visualize and communicate the class diagrams with the Unified Modeling Language
Inheritance: Prevent duplicate code by creating subclasses
Encapsulation: Prevent access to class information
Dependency injection: Decouple your code by injecting dependencies
Polymorphism: Allow your code to be extended with minimal changes to the system
Composition: Prevent an explosion of subclasses by using composition
Unit testing: Write Unit Tests to test the correctness of your code
Duration
2,5 hour video time. 5 Hours with exercises.
The teacher
This course is taught by Loek van den Ouweland, a senior software engineer with 25 years of professional experience. Loek is the creator of Wunderlist for windows, Microsoft To-do and Mahjong for Windows and loves to teach software engineering.
Students of this course tell me:
⭐️⭐️⭐️⭐️⭐️ “An excellent, concise and clear explanation of the basics of OOP. Fantastic course! Thanks Loek.”
⭐️⭐️⭐️⭐️⭐️ “This is the Python OOP course I've been searching for a long time. Many courses teach OOP syntax but few courses help you understand the "why", and then followed by the "how". This course does it and also with realistic scenarios that make it more relevant to the workplace. Highly recommended!”
⭐️⭐️⭐️⭐️⭐️ “I thought OOP it was really difficult. But through this course, OOP is something that makes coding much readable and robust. I am sure this course will help people who have hard time coding plain and simple.”