Python Clean Software-Architecture

Sahlberg SG Service IT Safran Ebit Systems Deutsche oppenheim Valtech Apple Hochschule der Medien

Python Clean Software-Architecture: Practical course for programmers and advanced

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.

All courses live

In the Academy or online

Your benefits at a glance

  • 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

What do you learn

  • Effectively utilizing object-oriented programming
  • Learning to apply design patterns
  • Understanding responsibility-driven design
  • Acquiring techniques to maintain program structure effectively

Content

The course covers a selection of the following topics:

  • Object-Oriented Design (OOD)
  • Object-Oriented Programming (OOP) in Python
  • How to properly apply OOD and OOP? How to avoid common pitfalls?
  • Design patterns (e.g., Gang of Four patterns)
  • Architecture patterns (e.g., Clean Architecture, SOLID, GRASP)
  • Architectural styles (e.g., Layered Architecture, Hexagonal Architecture)

Prerequisite

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!

Description

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.

Schedule

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.

Certificate

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.

Where do we go from here?

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.

Course formats

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.

YOUR TRAINERS

The Python Clean Software Architecture course for Python programmers is conducted by one of the following trainers

Dr. Matthias Hölzl
Dr. Matthias Hölzl

Expert: Python, C++, Clean Code, Unit Test, Clean Design

Dr. Stefan Behnel
Dr. Stefan Behnel

Expert: Python, Pytest, Clean Code, Fast Python, Cython

Dr. Kyrill Schmid
Dr. Kyrill Schmid

Expert: Python, Java, Machine Learning, Künstliche Intelligenz

Allaithy Raed
Allaithy Raed

Expert: Java, Python, Clean Code, Unit Test, Clean Design

Prof. Dr. Peer Kröger
Prof. Dr. Peer Kröger

Expert: Artificial Intelligence, Data Science, Python, Java

Dr. Max Meier
Dr. Max Meier

Expert: .NET/C#, Software Architecture, Microservice

Customer testimonial

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 testimonial

Benjamin Breuell,
Kinexon GmbH

Astrid Elbe 02 lrg web

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 testimonial

Dr. 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 testimonial

Michael Schreiber

The Python training at Coding Academy was really great, it was definitely worth it! I can only happily recommend it!...

Danila Perevezentsev

Request