Java Practical courses


Tailor-made Java SE & EE practice courses for your team

(company exclusive trainings from 3 employees)

Do you speak Java? We do. And always the latest version. Question: Do any of the following situations apply to your company?

  • You have a good Java team and would like to provide individual developers with targeted training to become more effective and better?
  • You would like to achieve a uniform quality standard and a uniform programming basic knowledge with your team, so that vacations and sick leaves of individual coworkers do not have any more negative influence on the development of your enterprise? Keyword: Clean Code and Clean Unit Test. Code that is easy to extend and test.
  • You are planning to expand your team and hire new people, and you are aiming for a fast training period and successful integration of the new employees? Keyword: object-oriented programming concepts and design.
  • If you answered YES to any of these questions, then you have come to the right place.

We at the Munich Coding Academy specialize in customized and project-specific training.

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

What Java topics can you choose from?

The following list includes the most common Java topics, however, the training can be adapted to the level of your team. Based on this, our trainer will adhere to the individual objectives of the course.

If your team only wants an overview, then you can select relatively many topics. However, the team will probably find it relatively difficult to put what they have learned into practice afterwards. Some of the above modules alone will take a day (or even longer) if the content is to be discussed really thoroughly and your team does not already have prior knowledge!

So if you want to work with Java seriously, then in our experience it is better if you choose few topics and we discuss them deeply and thoroughly in the training instead and do enough practical workshops. Indeed, "less is more!" applies here. The best way for us to identify together which topics are target-oriented for your team and your projects is in a consultation.

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!

Java Grundlagen

These topics cover the language elements, concepts and core of the object-oriented programming language Java in a practical and lively way. Anyone who wants to work with Java must master the content of these modules, whether creating simple Java programs consisting of multiple classes or understanding complex programs.

The Java Basics module includes the following focus areas:

Java Advanced Topics

With the basic modules, you can write simple programs consisting of several classes in Java. But for large projects and demanding requirements, you need much more know-how about advanced topics and best practices.

The Java Advanced module includes the following focus areas:

Functional Programming with Java 8-11

By far the most important innovation among the Java versions was Java 8 with the introduction of Lambda Expressions, Functional Interfaces and Streams. For many software developers it is still syntax and topics that need getting used to.

Nevertheless, once you understand these concepts deeply and well, you don't want to miss them! This is because these new features massively simplify many routine tasks and allow for a less error-prone and more efficient declarative style, rather than the traditionally used imperative style. Declarative style focuses on the "what-question" instead of the "how-question". The what-question expresses what a method should do, such as filtering data. The "how-question" explains the steps that are necessary to complete the task, e.g. going through all the data, filtering according to certain criteria, etc. In imperative style, the software developer has to take care of the two questions (what and how) and therefore write a lot of code. In declarative style, the software developer only cares about the "what should the method do" question and lets the Java API take care of the "how question". This proves to be very powerful when processing data with Lambda Expression and Streams and saves a lot of time.

The module system as of Java 9 allows large projects to be organized into multiple modules that are cleanly separated from each other. No project may have more cycles in its software architecture. A cycle results, for example, when a module A refers to B, module B refers to C, and then module C refers to A again. Such cycles arise quickly: when new requirements come in, deadlines and delivery dates are very short, then even experienced software developers help themselves out of time pressure and convenience with cross references between different modules in order to be able to access methods or data more quickly. As soon as everything works correctly, this is not very tragic. But as soon as an error (bug) occurs, it is incredibly difficult to locate the source, if A depends on B, B on C and C again on A. It can take days and weeks to correctly identify the source of such errors and to correct the bug. Java 9 tries to protect us from exactly this by having the module system prohibit such cycles from the start! These are just a few examples of the advantages of Java 8 and 9. In our opinion, anyone who wants to program seriously and effectively with Java should master the new features of Java 8 and 9.

The Functional Programming with Java 8-11 module includes the following focus areas:

News from Java 09 to Java XX

(XX stands for the latest version: currently 18)

The Java programming language is constantly evolving. More precisely, Oracle now releases a new Java version every 6 months and a new major version every 3 years. Some innovations are "only" nice and "nice to have", so that the software developers can accomplish some tasks without detour and more directly than before, other changes are quite interesting and important and contribute to the fact that one can realize the same task with e.g. Java 19 clearly better and faster than with Java 10. From this module you can select the following innovation to Java 19:

The News from Java 09 to Java XX module includes the following focus areas:

Effective Java / Clean Code and Unit Test

The topics in this module are aimed at Java programmers who want to write high quality, good code. If you want all your Java developers to reach a certain standard of quality and write above average code, then the topics here are the right ones! Because here we don't deal with language elements or concepts but with the question: how can I write better Java code? Code that has as few errors as possible, is easy to understand, change and extend. How can I produce code that other team members can easily test, extend and build upon? Because a team should never be dependent on a few people. This is not good for the team or for the people involved. Because if a team is dependent on a few people because they are the only ones who know about complex code segments, then the team can't move forward if those people are absent due to illness or vacation! On the other hand, even on their well-deserved vacation, these experienced people have to be available all the time because they are the only ones who know code very well! This is a typical situation, which is not optimal for both sides.

The topics from this module try to solve exactly this problem by having all team members write Clean Code and provide it with Clean Unit Test, so that the produced new code is quickly understandable for all and also new team members, shortens the learning curve and enables productive collaboration.

This module covers Clean Code rules, Clean Unit Test rules, the most important object-oriented concepts and refactoring patterns in a practical and optimized way, so that your Java development team can immediately apply what they have learned in this module to ongoing projects, thereby permanently improving code quality and productivity.

The topics in this module further deepen Java best practice techniques and also address aspects for which there is no time in a typical Java basic or advanced course.

The Clean Code and Clean Unit Test in Java module includes the following focus areas:

Object orientation, design and architecture

As soon as a developer works in only one class, the Clean Code and unit test rules are often sufficient, in order to write on this level above average good Java code. However, as soon as a Java developer writes more than one class, which is often the case, the question comes to the fore: how do I organize my classes? In which relations do they stand to each other? Which dependencies and interfaces are there between them? The correct class structure is decisive and crucial for the quality of the entire code. Thus, it becomes even more important that your Java team is well versed in modern object-oriented concepts and software architecture patterns, called design patterns. Often, you can combine several proven design patterns and/or proven object-oriented concepts to implement a flexible and good software architecture. These modules teach how your Java development team can use a variety of techniques and patterns to better structure Java programs. Both the fundamentals of object orientation, which are independent of any particular programming language, and possible implementations in Java are discussed here.

The Object orientation, design and architecture in Java module includes the following focus areas:

Working with legacy code

Every programmer likes to work on modern, well-structured code that is thoroughly documented and tested. Unfortunately, the practice often looks different. If your team has to maintain a codebase characterized by structural issues, insufficient documentation, and no or poor testing, then unfortunately we can't promise you that any of our courses will solve the problem overnight. But in these modules, your team will learn many proven techniques that they can use step by step to get their code into a shape that makes it fun to work with again.

The Working with Legacy Code in Java module includes the following focus areas:

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:


The following examples show how some courses can be structured for typical customer requirements.

Modern Java

You are starting a Java project, but some of the team members have knowledge of C++ or C#, but not Java. To get these team members to a level where they could productively work on the code base, a course with the following modules would be appropriate:

  • Data types and Operations
  • Classes and Objects
  • Arrays, Enum and String
  • Methods and Control Flow
  • Abstract Classes and Interfaces
  • Data Structure: List, Map
  • Lambda Expression
  • Stream APIs
  • Module System

Clean Softwarearchitektur in Java

You are a team of experienced developers for whom neither the Java programming language itself nor the basics of object orientation are new territory. But you want to better structure the large software project you are currently working on and prepare it for future requirements. Then the following modules might be right for you:

  • Practice-relevant software architecture
  • Design patterns in Java
  • Designing, structuring, and implementing large projects:
  • Architectural styles, hexagonal architecture

Your Trainer

Allaithy Raed
Allaithy Raed

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

Dr. Matthias Ludwig
Dr. Matthias Ludwig

Expert: Optimize processes, Agile Methods, Java, Python

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

Expert: Artificial Intelligence, Data Science, Python, Java

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".


    • 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 Java 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 the 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 Java courses receive a certificate?

    Of course, as a participant in a Java 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 Java course, this will certainly give you more pleasure than stress.


    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.