OOP and Clean Design Practical courses

Object-oriented programming and clean design à la carte!

Tailor-made OOP and Clean Design practice courses for your team

(company exclusive trainings from 3 employees)


Modern object orientation and clean architecture – The aesthetics of the programming language!

Question to you:

  • Does your team know the true benefits of object-oriented features of a programming language like Python, C#, C++ or Java?
  • Can your team apply the benefits to your individual project?
  • Have you successfully used the concept of inheritance and want to learn more?
  • Do you work with object-oriented code that is difficult to understand and hardly adaptable?

Then a course focusing on modern object orientation and clean architecture is right for you!

In our individual courses for Python, C#, C++ and Java, we offer modules on all aspects of object-oriented programming and software architecture. We cover language-independent concepts as well as individual programming language features. A practical approach makes it possible to avoid sources of error.

TOPICS AND STRUCTURE OF AN Object-oriented, Clean Software Architecture and Design Patterns TRAINING

What are typical goals of courses focusing on Clean Software Architecture?

  • Use object orientation in a meaningful way
  • Learning to apply design patterns
  • Understand Clean Code and Responsibility Driven Design
  • Acquire techniques to keep the structure of programs under control

Advantages of Clean Architecture

We teach you in a simple and structured way how to use modern object-oriented techniques. This way you improve the design of your programs and minimize sources of errors in the long term.

Learn the basics of object-oriented design and object-oriented programming. Features such as classes, inheritance and interfaces are then no longer foreign words. Use the most important design and architecture patterns for yourself.

Book your free consultation now! Bring all your questions with you. We'll be happy to take the time to consult with you individually.

What might a course on Modern OOP and Clean Architecture look like?

A course on Clean Software Architecture would typically cover a selection of the following topics:

  • Object Oriented Design (OOD)
  • Object Oriented Programming (OOP) in the language of your choice
  • How do I use OOD and OOP correctly? How do I avoid pitfalls?
  • Design and architecture patterns
  • Systems of patterns (GoF, SOLID, GRASP)

The following is an exemplary flow of such a course. As with all of our courses, you can of course tailor the topics and focus to meet the needs of your team.

We don't preach theory, we solve problems! Get the maximum knowledge for your team. Compile the topics according to your previous knowledge and needs, depending on the project. Because individual learning brings the desired success! Topics you click here will be automatically referred to us as soon as you send a request form!

Object Orientation

This section covers both fundamentals of object orientation that are independent of the programming language you use, as well as mechanisms that the programming language of your choice provides for implementing object-oriented designs. In the section on programming language-specific modules, you will find links to additional topics that are relevant for the various programming languages.

Brief introduction to patterns and UML

Graphical representations are sometimes easier to understand than code for recognizing large relationships. In this short module, you'll learn how to use some of the diagram types in UML to sketch out the structure and interactions of your software on the whiteboard. We'll also briefly cover what design patterns are and why they're a great way to get quick, in-depth insights into good software design.

Design Patterns

The book "Design Patterns" was the trigger for the wave of publications and conferences dealing with patterns. The four authors of the book are often jokingly referred to as the "Gang of Four", hence the term "Gang of Four Patterns" (GoF Patterns for short) is sometimes used when trying to distinguish them from the multitude of other patterns.

Many of these patterns have proven themselves in countless software projects, and every programmer, designer, and architect involved in object-oriented software should have heard of them.

SOLID Patterns

The SOLID patterns are a collection of five design patterns popularized by Robert Martin as part of his Clean Code and Clean Architecture books. In this module, you will learn about the SOLID patterns and see what the benefits (and problems) of using them are and how to make sense of them.

GRASP Patterns

The "General Responsibility Assignment Software Patterns" (GRASP) are a collection of nine design patterns for object-oriented design and for structuring responsibilities, published by Craig Larman, which provide a somewhat different perspective on architectural issues than the SOLID principles.

Architektur-Patterns

Practical Software Architecture and Architecture Patterns

Design patterns can be applied not only at the design level, but also in the area of software architecture one can identify patterns, e.g., different architectural styles of how a system can be structured in the big picture. In this module, we address some commonly encountered architectural styles and show what consequences result from the choice of architectural style.

Combining Patterns

In this module, we discuss how patterns are combined in many systems to solve various design problems. Here you will see examples of how patterns can be combined in a useful way, but also how overuse of patterns can make software too complicated and difficult to maintain.

Working effectively as a team

These modules cover techniques that help make teamwork more productive and improve the quality of the resulting software.

The Working effectively as a team module includes the following focus areas:

COURSE EXAMPLES

What might a course on Modern OOP and Clean Architecture look like?

The following is an exemplary flow of such a course. As with all of our courses, you can of course tailor the topics and focus to meet the needs of your team.

What do you learn on the first day?

On the first day, we discuss the principles of object-oriented programming and design and the language features that the language of your choice supports this programming style with. We discuss why design patterns are a great tool for learning OO design and why you need to be careful not to fall into "patternitis".

Then we turn to the "Gang of Four" patterns and discuss the first design patterns, such as factory method, abstract factory, and observer.

What will you learn on the second day?

On the second day, you will learn additional "Gang of Four" patterns, such as Adapter, Composite, and Template Method. Of course, we will not only discuss these patterns in the abstract, but you will also see how they can be implemented in the programming language of your choice and what specifics need to be considered.

Then we turn to various aspects of Clean Code and Responsibility Driven Design and discuss the SOLID and GRASP principles in detail. For example, you will learn about the Dependency Inversion Principle, which allows you to control the direction of dependencies in your software. This may not seem very spectacular at first, but it is one of the most important means to keep your software architecture under control.

What do you learn on the third day?

On the third day, we apply what we have learned so far to the architecture of the software: We'll discuss how choosing an appropriate architectural style can often drastically reduce the complexity of your software, and how you can iteratively adapt the software architecture to meet current requirements.

Along the way, we'll also use case studies to discuss how you can combine patterns to solve different design problems whose goals sometimes compete with each other.

Programming language independent?

Are the courses programming language independent?

Most of the topics discussed in Modern Object Orientation and Clean Architecture courses are basically independent of the programming language used. However, it is very difficult to understand the concepts if you have not applied them yourself on concrete examples. Therefore, our courses always include numerous workshops in which we actually implement the discussed concepts in a programming language. Therefore, we typically offer the course in a concrete language, either Python, C#, C++ or Java. This makes it easier to discuss workshop solutions, and also allows us to address the specifics of the programming language being discussed.

Therefore, you can combine topics from Modern OOP and Clean Architecture with other modules of the programming language of your choice if you wish. More detailed information about the individual languages can be found here:

  • Python Courses
  • C# Courses
  • C++ Courses
  • Java Courses
  • JavaScript Courses

Your Trainer

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

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

Expert: Artificial Intelligence, Data Science, Python, Java

Prof. Dr. Gefei Zhang
Prof. Dr. Gefei Zhang

Expert: Data Mining, Machine Learning, Java, Python

Dr. Matthias Ludwig
Dr. Matthias Ludwig

Expert: Optimize processes, Agile Methods, Java, Python

Allaithy Raed
Allaithy Raed

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

COURSE FORMATS

We offer different course formats: 3-day programs, 4-week intensive programs, and online training videos.

    The 3-day program

    In 3 days (8 hours/day) you will be guided to the next level by an expert: Participate on-site at the Coding Academy Munich or online from anywhere in the world. With a practical exam for the certificate.

    3-Day Online Course

    The course takes place online. All you need is a computer with internet access. For some modules it is necessary to install specific Python packages or additional software. We will clarify details when compiling the course content. You will get access to the material on the first day of the course at the latest.

    3-Days on-site at the Coding Academy

    The course takes place in our modern and well-equipped training rooms. We provide each participant with a modern laptop free of charge during the training. Drinks are provided by the Coding Academy. Access to the material will be provided on the first day of the course at the latest.

    3-days on your premises

    If you wish, one of our experts will hold the course at your premises. Then you provide the technology, e.g. computers with the software needed for the course. With this format, there are additional costs for travel and accommodation.

    Online-Training Videos

    The videos pick up the topics from the live trainings and show real programming examples from practice.

    We also offer the courses as online-only training videos. You have access at any time and can access the modules at your pace. This way, you can benefit from our high-quality learning videos at a very affordable price. In our online forum you can discuss with other participants and get help from our Teaching Assistants in case of problems.

    Contact us about the availability of the course you want.

    The 4-week intensive program

    In 4 weeks to the next level: You get 2-3 hours of teaching and video material on Mondays and take part in our online live training for 2 hours on Fridays. Here, all open questions can be discussed and clarified with the trainer. With a practical exam for the certificate.

    This is a combination of online and offline training, sometimes referred to as "blended learning".

    Schedule

    • We always start on a Monday! You will get high quality learning videos, learning material and sample solutions on the first day. The videos are only available exclusively from us and were recorded by Coding Academy experts.
    • You will study for about 2 hours a day with the videos and study materials. Our courses include many workshops that you work on independently during this time. This engagement with the material and the exercises is essential for success! Because in the online sessions we answer questions about the material learned and discuss the solutions of the workshops, we do not re-explain what was covered in the Learning Video!
    • In the first week we meet online for 2 hours on Wednesday. You can ask questions here, we discuss your solutions to the tasks and explain further topics if necessary or solve additional tasks together.
    • On Friday we will meet again online for 2 hours. Just like Wednesday.
    • From the second week we repeat steps 1, 2 and 4, which means that on Monday you get learning videos and material, you deal with the topics offline and on Friday we meet for 2 hours.
    • We repeat the program for a total of 4 weeks.

    Great extra: Our online forum. All course participants can get help from our teaching assistants at any time.

    Questions and answers about Clean Design training

    Which format is right for me?

    The content that is taught is the same whether you take the course online, on-site, in a 4-week program, or as a training video. We have had very good experiences with all formats.

    Online or on-site training?

    The online and on-site training courses teach the material in a compact, intensive form. You can reserve a block of time that is 100% dedicated to learning, which typically has a positive effect on the learning curve.

    On-site trainings are often a little easier to discuss in a group than online trainings, but online trainings eliminate the time spent traveling to the training and allow you to work in your familiar environment.

    4-week program and training videos?

    With the 4-week program and video-only courses, learning is spread out over a longer period of time. This allows you to flexibly divide your time, learn in a more relaxed way and offers more opportunities to try out the concepts you have learned in practice.

    Another advantage of these formats is that the team does not have to be completely removed from project work for several days. In addition, each participant can complete the video learning units and practice exercises at their own pace and does not have to wait for other participants or complete the assignments under time pressure.

    In the 4-week program, you are responsible for completing the designated learning units and exercises each week to stay on track with the material.

    What is formal process (order, training, invoice)?

    • If you are interested in training, it is best to contact us so that we can clarify the professional issues.
    • If you would like to complete the training with us, we will be happy to send you a non-binding offer.
    • If you like the offer, accept it (a short confirmation by e-mail is sufficient).
    • If you need an order confirmation, we will be happy to send it to you.
    • Then, together, we will find a date that works well for your team.
    • For online training, we will provide you with the link: MS Teams, BBBServer or Zoom.
    • A few days after the training you will receive an invoice with a payment term of two weeks.
    • In case of active participation in the training, participants will receive their certificates subsequently by e-mail.

    What distinguishes courses at the Coding Academy?

    • Individual: we specifically address you and take into account your previous knowledge, desired topics and focal points
    • Developed by experts according to the Raed Teaching Method®
    • Compact, lively and entertaining
    • Structured and easy to understand
    • Lots of practice: you can immediately apply the knowledge you learn in the course
    • Theory optimized to the essentials
    • Many examples and tasks whose level of difficulty increases linearly
    • Small groups: max. 8 participants in the 3-day course; max. 15 participants in online coaching
    • Highly qualified trainers with up to 30 years of experience in industry and teaching at German colleges and universities
    • For on-site training, we provide participants with modern laptops at no additional cost

    Do the participants of the Clean Design courses receive a certificate?

    Of course, as a participant in a Clean Design course you will receive a certificate. The prerequisite for this is the complete participation in all course units and programming tasks and the successful programming of a small final project. However, after an intensive Clean Design course, this will certainly give you more pleasure than stress.

    NO QUESTION REMAINS UNANSWERED HERE!

    We are very happy to take time for you. Use our contact form for a written contact. Our team will respond quickly and within 24 hours at the latest. In case of technical questions and to clarify the focal points, which are target-oriented for your team, please use the possibility of a non-binding consultation appointment.