Dr. Matthias Hölzl
Expert: Python, C++, Clean Code, Unit Test, Clean Design
Do you know the object-oriented features of Python but are unsure how to truly leverage them for your project? Have you successfully used inheritance and want to learn more about it? Or have you worked with object-oriented code that was difficult to understand and adapt to new problems, and would like to learn how to avoid such issues?
Then a course focusing on modern object-oriented programming and clean architecture may be right for you. In this course, we cover both language-agnostic concepts and fundamentals, as well as specific features and peculiarities unique to Python, such as protocols as a flexible alternative to inheritance. We also showcase best practices and highlight common pitfalls to avoid "object spaghetti" in real-world scenarios.
In the Academy or online
Lots of practice and immediately applicable knowledge for your projects
Certificate for active participation
Small groups with max. 8 participants
Your trainers are experts with years of teaching and industry experience
Comprehensive learning materials
Compact, lively, and sustainable
The course covers a selection of the following topics:
This course is designed for you if you want to take your design and architecture skills to the next level.
Since this course includes many practical exercises in Python, you should have at least basic knowledge of Python. If you have little to no programming experience, then the "Python Basics Course" is the right course for you!
This course teaches you how to effectively and systematically utilize modern object-oriented techniques to enhance the design of your programs and avoid common pitfalls that can arise when these techniques are used without careful consideration.
You will learn the fundamentals of object-oriented design and object-oriented programming, and see how they can be implemented specifically in Python. We will discuss numerous concrete design and architecture patterns, as well as the benefits and challenges that arise from the deliberate use of patterns.
We will begin with a brief discussion of the principles of design and how Python supports these concepts. We will explore why design patterns are excellent tools for learning object-oriented design and why it is important to be cautious about falling into "patternitis."
Next, we will dive into the "Gang of Four" patterns and discuss the initial design patterns such as Factory Method, Abstract Factory, Observer, Adapter, Composite, and Template Method. We will not only discuss these patterns in abstract terms but also demonstrate how they can be implemented in Python and highlight any specific considerations.
We will then shift our focus to various aspects of clean code and responsibility-driven design, delving into the SOLID and GRASP principles in detail. You will learn, for example, about the Dependency Inversion Principle, which allows you to control the direction of dependencies in your software. While seemingly unremarkable at first glance, it is one of the most critical tools for maintaining control over your software architecture.
Lastly, we will apply the knowledge gained thus far to software architecture. We will discuss how choosing an appropriate architectural style can often drastically reduce the complexity of your software and how to iteratively adapt software architecture to meet current requirements.
Throughout the course, we will use case studies to demonstrate how patterns can be combined to solve various design problems, even when their objectives may sometimes compete with each other.
Certainly, as a participant in the Python Clean Software Architecture course for beginners, you will receive a certificate. The prerequisite for obtaining the certificate is the complete attendance and completion of all course units and programming assignments.
If you are interested in Data Science or Machine Learning, the Machine Learning course is perfect for you. Upon completing this course, you will have excellent and solid Python skills.
3-day on-site course
The course takes place in our modern and top-equipped training rooms. We provide each participant with a modern laptop during the training. Drinks are provided by the Coding Academy. Access to the material will be provided at the latest on the first day of the course
3-day online course
The course takes place online. You only need a computer with Internet access; however, for some courses it is necessary to install the software used; this is specified in the description of the respective course. Access to the material will be provided at the latest on the first day of the course.
4-week program
A new and innovative learning concept. More information about the 4 weeks program can be found here.
The Python Clean Software Architecture course for Python programmers is conducted by one of the following trainers
We thank our customers for their trust.
We have taken as a team a three-day training on "Python Clean Code Architecture" . I can absolutely recommend the courses at this academy....
Show full testimonialBenjamin Breuell,
Kinexon GmbH
My joint projects with the Coding Academy have been very successful and absolutely reliable. The course catalog includes the programming languages that are currently most relevant in companies. The courses on improving software quality and productivi...
Show full testimonialDr. Astrid Elbe,
Vice President Aviat Networks und ehemalige Managing Director Intel Labs Europe
We had a very professional and truly instructive Python training. Thanks to numerous practical programming exercises, what was learned could be put into practice immediately - even in small steps. The small groups allow for a very interactive impleme...
Show full testimonialMichael Schreiber
The Python training at Coding Academy was really great, it was definitely worth it! I can only happily recommend it!...
Danila Perevezentsev