Clean Code and Unit Test Practical courses

Clean Code und Clean Unit Test Training à la carte!

Tailor-made Clean Code und Clean Unit Test practice courses for your team

(company exclusive trainings from 3 employees)


Clean Code and Clean Unit Test - The royal class of programming! This training is only suitable for:

  • Teams that can already program well in programming languages such as Python, C#, C++ or Java and want to improve the quality of the software even further and write higher quality code.
  • Teams that want to write code that is well structured, less error prone, easy to extend and test.

This is exactly where we come in! It is definitely worthwhile to learn the proven rules and best practices for producing "clean code and clean unit tests" in a hands-on way and to apply the acquired knowledge in ongoing projects.

Why invest in this training?

  • Avoid 80% of the error sources that poorly programmed software can bring. Increase not only productivity and code quality. Thanks to this expert training, your team will be able to respond to new challenges in a more effective and relaxed way.
  • An IT team that has mastered clean code and unit test best practices usually produces better-than-average code. Code that is easy to respond to new requirements, easy to extend. With good unit tests, developers can adapt the existing code directly in the individual modules.

Topics and structure of a Clean Code training

The good news is that you don't have to massively change your programming habits or enter a whole new world. Clean Code is comparable to moving from apartment A to apartment B:

  • Step 1 in moving: you first prepare everything: Moving boxes, looking for moving companies, etc.
  • Step 1 in software development: You set up the development environment and, if necessary, put together the team.
  • Step 2 in moving: You pack everything into moving boxes and label them.
  • Step 2 in software development: you start programming and write comments.
  • Step 3 in moving: A moving company transports everything from apartment A to B.
  • Step 3 in software development: You and your team successfully implement a feature, a system.

After step 3, the move is theoretically complete. We have arrived at apartment B and have our stuff there. We could leave all the moving boxes on the floor and get everything we need from the moving boxes, use it, and put it back in the moving boxes. Similarly, after step 3 in software development, our feature or system is also finished. We have programmed something that works and does what it is supposed to do.

However, when moving, we humans take a fourth and crucial step:

  • Step 4 in moving: we clean up. We take all the stuff out of the moving boxes and distribute it into closets, shelves, etc. But why do we actually do this? The answer is amazingly simple. We want to have order and make room for new furniture.
  • Step 4 in software development: Missing - This is where more than 80% of developers stop! The 4th step in software development should be clean code. Here we should clean up our code. In the moving example, step 4 (clean up) provides more space for new furniture. Similarly, step 4 (Clean Code) in software development makes room for new features. Our code will be easy to extend, easy to test, and of very high quality.

In other words, develop steps 1 through step 3 as before. However, you should learn step 4 in a practical way and integrate it immediately if you and your team want to produce above-average code every day. The good news is that any team can learn and immediately integrate Clean Code into their day-to-day work.

Why is the fourth step (Clean Code) missing in software development for over 80% of software developers?

We can even answer this question from our experience at elite universities and from our numerous trainings. Most developers don't even know how to do it. They have not learned the best practices for writing clean code. This is because such techniques are not taught in a practical way at university or college, nor in any computer science training. If at all, it is done through a lot of theory with little reference to practice. A second reason is that many developers have to meet one deadline after another and often have no time left for cleaning up. This saves time in the short term, but in the medium and long term it proves to be a strategic mistake as soon as problems arise. This is because 80% of the costs in software development arise later, for example when software errors and bugs are fixed or when the time-consuming and tedious adaptation of code and design for new features takes place.

A team that masters clean code is clearly at an advantage in the long run! 

Briefly, any topic area can be covered in more depth if desired. Your needs have priority. You decide what your team needs. We create the concept.

Clean Code has three pillars:

  • Clean Code Rules
  • Clean Unit Test
  • Refactoring Patterns

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!

Clean Code Rules

You will find the topics "Clean Code and Clean Unit Test" summarized under the topics "Effective Programming: Clean Code and Clean Unit Test" for the respective language. You can even combine these topics with other focal points if you wish!


Clean Unit Test

Depending on the language, an introduction to the corresponding unit test and mocking framework is introduced. For example, JUnit 5 for Java, Pytst for Python, NUnit for C#, Catch2 for C++, and Jasmine/Jest and Mocha for JavaScript.

Refactoring Patterns

There are a total of 72 classic refactoring patterns that are largely language-independent.

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:

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

Dr. Max Meier
Dr. Max Meier

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

Allaithy Raed
Allaithy Raed

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

Dr. Gilbert Beyer
Dr. Gilbert Beyer

Expert: Interaction Design, Human-Computer Interaction

Dr. Willhelm Berghorn
Dr. Willhelm Berghorn

Expert: C++, C#, JavaScript, ReactJS, Clean Code

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 Code/Unit Test 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 Code and Unit Test courses receive a certificate?

    Of course, as a participant in a Clean Code and Unit Test 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 Code and Unit Test 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.