Java Praxisschulungen

Bayerische Oberlandbahn Bundesagentur für Arbeit SG Service IT LMU Condor TÜV Süd Seidenader Draeger

Maßgeschneiderte Java Schulungen

Arbeitet Ihr Team regelmäßig mit der Programmiersprache Java? Falls ja, haben wir genau das Richtige für Sie! Schulungen nach Maß auch für Java User und Programmierer. Holen Sie das Beste aus Ihren Projekten heraus. Dank einzelner Module, kann Ihr Entwicklerteam individuelle Schulungen erhalten.

Wir finden sicher die optimale Kombination für die Bedürfnisse Ihres Teams. Bringen Sie alle Fragen mit. Wir nehmen uns gerne die Zeit, Sie individuell zu beraten.

Alle Kurse live

In der Academy oder online

Ihre Team-Vorteile auf einen Blick

  • Maßgeschneiderte Themen

  • Flexible Termine und Formate

  • Erfahrene Trainer mit Lehrdidaktik

  • Zertifikat bei einer aktiven Teilnahme

  • Didaktisch durchdachtes Lernmaterial

  • Praxisorientiert, kompakt und lebhaft

Aus welchen Java Themen können Sie wählen?

Kurz vorweg: Jedes Themengebiet kann auf Wunsch vertieft werden. Ihre Bedürfnisse haben Vorrang. Sie entscheiden, was Ihr Team benötigt. Wir erstellen das Konzept. Falls Ihr Team nur einen Überblick haben will, dann können Sie relativ viele Themen auswählen. Allerdings wird es dem Team danach wahrscheinlich relativ schwer fallen, das Gelernte in der Praxis umzusetzen.

Wenn Sie also mit Java ernsthaft und seriös arbeiten möchten, dann ist es unserer Erfahrung nach besser, wenn Sie wenige Themen auswählen und wir diese dafür in der Schulung tiefgehend und gründlich besprechen und ausreichend viele Praxis-Workshops machen. Hier gilt in der Tat „weniger ist mehr!“. Am besten können wir gemeinsam in einem Beratungsgespräch identifizieren, welche Themen für Ihr Team und Ihre Projekte zielführend sind.

Wir predigen keine Theorie, wir lösen Probleme! Holen Sie das Maximum an Wissen für Ihr Team heraus. Stellen Sie die Themen gemäß Ihrer Vorkenntnisse und Bedürfnisse, je nach Projekt, zusammen. Denn individuelles Lernen bringt den gewünschten Erfolg!

Java Grundlagen

Diese Themen behandeln praxisorientiert und lebhaft die Sprachelemente, Konzepte und den Core der objektorientierten Programmiersprache Java. Jeder, der mit Java arbeiten möchte, muss den Inhalt dieser Module beherrschen, egal ob man einfache Java Programme bestehend aus mehreren Klassen erstellen oder komplexe Programme verstehen möchte.

Folgende Schwerpunkte beinhaltet das Modul Java Grundlagen:

  • Java Entwicklungsumgebungen: Eclipse, IntelliJ, NetBeans
  • Datentypen und Operationen
  • Objektorientierte Säule I: Kapselungsprinzip, Klassen und Objekte
  • Konstruktoren und Methoden
  • Kontrollfluss: Bedingungen und Schleifen
  • Objektorientierte Säule II: Vererbung und abstrakte Klassen
  • Objektorientierte Säule III: Polymorphie und Interfaces
  • Grundlegende Datenstrukturen: List, Map
  • Ausnahmebehandlung (Error-Handling)

Java Fortgeschrittene Themen

Mit den Grundlagen-Modulen kann man in Java einfache Programme bestehend aus mehreren Klassen schreiben. Doch für große Projekte und anspruchsvolle Anforderungen braucht man deutlich mehr Know-how über fortgeschrittene Themen und Best Practices.

Folgende Schwerpunkte beinhaltet das Modul Java Fortgeschrittene:

  • Java Input/Ouput: IO und NIO
  • Java und strukturierte Daten (JSON, CSV, XML, …)
  • Java and structured data (JSON, CSV, XML, ...)
  • Server client programming in Java
  • Multithreading from Java 1 to Java 19
  • Multithreading: Tasks, Callable und Executor Services
  • Multithreading: die Future Klasse
  • Thread-safe collections
  • Database programming
  • Java Persistence API
  • Java Internationalization
  • Security in Java
  • Java Native Interface
  • GUI Programming with JavaFX

Funktionale Programmierung in Java

Die mit Abstand wichtigste Neuerung unter den Java Versionen war Java 8 mit der Einführung von Lambda Expressions, Functional Interfaces und Streams. Es handelt sich für viele Softwareentwickler bis heute um gewöhnungsbedürfte Syntax und Themen.

Dennoch will man diese Konzepte nicht mehr missen, wenn man sie tief und gut verstanden hat! Denn diese neuen Features erleichtern viele Routineaufgaben massiv und ermöglichen einen weniger fehleranfälligen und effizienteren deklarativen Stil, statt des traditionell verwendeten imperativen Stils. Beim deklarativen Stil konzentriert sich man auf die „Was-Frage“ statt die „Wie-Frage“. Die Was-Frage drückt aus, was eine Methode tun sollte, z.B. das Filtern von Daten. Die „Wie-Frage“ erklärt die Schritte die nötig sind, um die Aufgabe zu erledigen z.B. alle Daten zu durchlaufen, nach gewissen Kriterien zu filtern, etc. Beim imperativen Stil muss sich der Softwareentwickler um die beiden Fragen (Was und Wie) kümmern und daher viel Code schreiben. Beim deklarativen Stil kümmert sich der Softwareentwickler nur um die Frage „Was soll die Methode tun“ und lässt die „Wie-Frage“ durch die Java API erledigen. Dies erweist sich bei der Datenverarbeitung mit Lambda Expression und Streams als sehr mächtig und spart viel Zeit.

Das Modul-System ab Java 9 ermöglicht die Organisation von großen Projekten in mehreren Modulen, die sauber voneinander getrennt sind. Kein Projekt darf mehr Zyklen in seiner Softwarearchitektur haben. Ein Zyklus ergibt sich z.B. wenn ein Modul A auf B verweist, Modul B auf C und dann Modul C wieder auf A. Solche Zyklen entstehen schnell: wenn neue Anforderungen kommen, Deadlines und Abgabetermine sehr kurzfristig sind, dann behelfen sich selbst erfahrene Softwareentwickler aus Zeitdruck und Bequemlichkeit mit Querreferenzen zwischen verschiedenen Modulen, um damit schneller an Methoden oder Daten herankommen zu können. Sobald alles richtig funktioniert, ist das noch nicht sehr tragisch. Doch sobald ein Fehler (Bug) auftritt, ist es unheimlich schwer, die Quelle zu lokalisieren, wenn A von B abhängt, B von C und C wiederum von A. Es kann Tage und Wochen dauern, bis man die Quelle solcher Fehler richtig identifiziert hat und den Fehler korrigieren kann. Java 9 versucht uns, genau davor zu schützen, indem das Modul-System von Anfang an solche Zyklen verbietet! Das sind nur ein paar Beispiele für die Vorteile von Java 8 und 9. Wer ernsthaft und effektiv mit Java programmieren will, sollte unserer Meinung nach die neuen Features von Java 8 und 9 beherrschen

Folgende Schwerpunkte beinhaltet das Modul Funktionale Programmierung mit Java 8-XX:

  • Imperativer vs. deklarativer Stil
  • Behavior Parameterisation
  • Lambda Expression
  • Functional Interface
  • Optional Class
  • Methoden und Konstruktor Referenz
  • Collections und Stream API
  • Module System as of Java 9
  • JSHELL

Neuheiten von Java 09 bis XX

Die Programmiersprache Java entwickelt sich ständig weiter. Genauer gesagt bringt Oracle inzwischen alle 6 Monate eine neue Java Version heraus und alle 3 Jahre eine neue Hauptversion. Manche Neuerung sind „nur“ nett und „nice to have“, damit die Softwareentwickler manche Aufgaben ohne Umweg und direkter als bisher bewerkstelligen können, andere Änderungen sind durchaus interessant und wichtig und tragen dazu bei, dass man dieselbe Aufgabe mit z.B. Java 19 deutlich besser und schneller realisieren kann als mit Java 10. Aus diesem Modul können Sie folgende Neuerung bis Java 19 auswählen:

Folgende Schwerpunkte beinhaltet das Modul Neuheiten von Java 09 bis Java XX:

  • The new Date API (Java 8)
  • Module System as of Java 9
  • Immutable Collections: list.of( ), set.of( ), map.of( )
  • var keyword (Java 10)
  • Collectors API (Java 10)
  • String API Update (Java 11)
  • File API Update (Java 11)
  • Micro Benchmark Suite (Java 12)
  • Defaulting Class Data Sharing Records (Java 12)
  • JVM Numbers API (Java 12)
  • Switch Expression (Java 13)
  • Pattern Matching (Java 13)
  • Null Pointer Exceptions (Java 13)
  • Text Blocks (Java 14)
  • Pattern Corresponding (Java 14)
  • Records (Java 14)
  • Closes Classes with Edges (Java 15)
  • Hidden Classes (Java 15)
  • More Text Block / Multiline Strings (Java 15)
  • Vector API (Java 16)
  • Foreign Linker API (Java 16)
  • Enable C++ (Java 16)
  • Pattern Matching for switch (Java 17)
  • Sealed Classes (Java 17)
  • Foreign Function & Memory API (Java 17)
  • Context-Specific Deserialization Filters (Java 17)
  • Simple Web Server (Java 18)
  • Code Snippets in Java API Documentation (Java 18)
  • Record Patterns (Java 19)
  • Virtual Threads (Java 19)
  • Structured Concurrency (Java 19)

Clean Code und Unit Test

Die Themen in diesem Modul richten sich an Java Programmierer, die einen hochwertigen und guten Code schreiben wollen. Wenn Sie wollen, dass alle Ihre Java-Entwickler einen gewissen Standard an Qualität erreichen und überdurchschnittlich guten Code schreiben, dann sind die Themen hier die Richtigen! Denn hier beschäftigen wir uns nicht mit Sprachelementen oder Konzepten sondern mit der Frage: wie kann ich besseren Java Code schreiben? Code, der möglichst wenige Fehler hat, leicht zu verstehen, zu ändern und zu erweitern ist. Wie kann ich Code produzieren, welchen andere Teammitglieder leicht testen, erweitern und darauf aufbauen können? Denn ein Team sollte niemals von wenigen Personen abhängig sein. Das ist weder für das Team noch für die entsprechenden Personen gut. Denn wenn ein Team von wenigen Personen abhängig ist, weil sie die einzigen sind, die sich mit komplexen Code-Segmenten auskennen, dann kann das Team nicht vorankommen, wenn diese Personen krankheitsbedingt oder urlaubsbedingt ausfallen! Auf der anderen Seite müssen diese erfahrenen Personen selbst in ihrem wohlverdienten Urlaub ständig erreichbar sein, weil sie die einzigen sind, die sich mit dem Code sehr gut auskennen! Das ist eine typische Situation, welche für beiden Seiten nicht optimal ist.

Die Themen aus diesem Modul versuchen genau dieses Problem zu lösen, indem alle Teammitglieder Clean Code schreiben und mit Clean Unit Test versehen, so dass der produzierte neue Code für alle und auch neue Teammitglieder schnell verständlich ist, die Einarbeitungszeit verkürzt und produktive Zusammenarbeit ermöglicht.

In diesem Modul werden die Clean Code Regeln, die Clean Unit Test Regeln, die wichtigsten objektorientierten Konzepte und Refactoring Patterns praxisorientiert und auf das Wesentliche optimiert behandelt, so dass Ihr Java Entwicklungsteam das in diesem Modul Gelernte unmittelbar in laufenden Projekten einsetzen und dadurch die Code-Qualität und Produktivität permanent verbessern kann.

Die Themen in diesem Modul vertiefen die Java Best Practice Techniken weiter und gehen auch auf Aspekte ein, für die in einem typischen Java Grund- oder Aufbaukurs keine Zeit bleibt.

Folgende Schwerpunkte beinhaltet das Modul Neuheiten von Clean Code / Clean Unit Test in Java:

  • Woran erkenne ich schlechten Code?
  • Clean Code und Risikomanagement
  • Clean Code Regeln für Namen, Kommentare, Funktionen
  • Code-Smell Katalog und Vermeiden von Code-Smells
  • JUnit 5 Grundlagen: Annotation, Assertion, Parameterized Test
  • Testdaten finden: Äquivalenzklassen und Randdaten Test
  • Test Driven Development (TDD)
  • Behavior Driven Development (BDD)
  • Test Double techniques: Mocks, Fakes, Stubs, and Dummies
  • Mocking Frameworks: Mockito und PowerMock
  • Refactoring Patterns und Best Practice in Java

OOP Design und Architektur

Sobald ein Entwickler nur in einer einzigen Klasse arbeitet, reichen die Clean Code und Unit Test Regeln oft aus, um auf diesem Level überdurchschnittlich guten Java Code zu schreiben. Sobald aber ein Java-Entwickler mehr als eine Klasse schreibt, was auch oft der Fall ist, steht bei ihm die Frage im Vordergrund: wie organisiere ich nun meine Klassen? In welchen Beziehungen stehen sie zueinander? Welche Abhängigkeiten und Schnittstellen gibt es zwischen ihnen? Die richtige Klassenstruktur ist maßgebend und entscheidend für die Qualität des gesamten Codes. Somit wird es umso wichtiger, dass Ihr Java Team sich mit den modernen objektorientierten Konzepten und Softwarearchitektur-Patterns, den sogenannten Design Patterns, gut auskennt. Oft kann man mehrere bewährte Entwurfsmuster (Design Patterns) und/oder bewährte objektorientierte Konzepte kombinieren, um eine flexible und gute Softwarearchitektur zu implementieren. Diese Module vermitteln, wie Ihr Java-Entwicklungsteam eine Vielzahl von Techniken und Patterns einsetzen kann, um Java-Programme besser zu strukturieren. Hier werden sowohl die Grundlagen der Objektorientierung besprochen, die unabhängig von einer bestimmten Programmiersprache sind, als auch mögliche Implementierungen in Java.

Folgende Schwerpunkte beinhaltet das Modul Objekorientierung, Clean Design und Architektur in Java:

  • Grundkonzepte der Objektorientierung
  • Vererbung, abstrakte Klassen und Interfaces
  • Praxis-relevante Software Architektur
  • Entwurfsmuster (Design Patterns) in Java
  • Entwerfen, Strukturieren und Umsetzen von großen Projekten
  • SOLID
  • GRASP
  • Architekturstile, hexagonale Architektur

Arbeiten mit Legacy Code in Java

Jeder Programmierer arbeitet gerne an modernem, gut strukturiertem Code, der gründlich dokumentiert und getestet ist. Leider sieht die Praxis oft anders aus. Wenn Ihr Team eine Codebasis pflegen muss, die durch strukturelle Probleme, unzureichende Dokumentation und keine oder schlechte Tests gekennzeichnet ist, dann können wir Ihnen leider nicht versprechen, dass einer unserer Kurse das Problem über Nacht lösen kann. Aber in diesen Modulen lernt Ihr Team viele erprobte Techniken kennen, mit denen es Schritt für Schritt seinen Code in eine Form bringen kann, in der die Arbeit damit wieder Spaß macht.

Folgende Schwerpunkte beinhaltet das Modul Arbeiten mit Legacy Code in Java:

  • Absicherungstests
  • Inkrementelle Verbesserung von Code und Tests
  • Seams und ihre Besonderheiten in Java
  • Refactoring Patterns für Legacy Code

Effektives Arbeiten als Team

Diese Module behandeln Techniken, die helfen die Arbeit im Team produktiver zu machen und die Qualität der resultierenden Software zu verbessern.

Folgende Schwerpunkte beinhaltet das Modul Effektives Arbeiten als Team:

  • Versionskontrolle (Git)
  • Docker
  • Continuous Integration (CI)
  • Workflows: Issue Tracking, Pull/Merge Requests
  • Beispiel: Arbeit mit einer lokalen GitLab Instanz in Docker
  • Kubernetes
  • Elasticsearch/Kibana (OpenSearch/Dashboards)

Beispiele: Maßgeschneiderte Java Kurse

Diese Beispiele zeigen, wie einige Kurse für typische Kundenanforderungen aufgebaut sein können.

Beispiel 1: Einführung in modernes Java

Sie starten ein Java Projekt, aber einige der Teammitglieder haben zwar Kenntnisse in C# oder C++, aber nicht in Java. Um diese Teammitglieder auf einen Stand zu bringen, mit dem sie produktiv an der Codebasis arbeiten könnten, wäre ein Kurs mit folgenden Modulen geeignet:

  • Datentypen und Operationen
  • Klassen und Objekte
  • Arrays, Enum und String
  • Methoden und Kontrollfluss
  • Abstrakte Klassen und Interfaces
  • Datenstrukturen: List, Map
  • Lambda Expression
  • Stream APIs
  • Module System

Beispiel 2: Clean Softwarearchitektur in Java

Sie sind ein Team aus erfahrenen Entwicklern, für die weder die Programmiersprache Java selber noch die Grundlagen der Objektorientierung Neuland sind. Aber Sie wollen das große Software-Projekt, an dem Sie gerade arbeiten besser strukturieren und auf zukünftige Anforderungen vorbereiten. Dann könnten die folgenden Module die Richtigen sein:

  • Praxis-relevante Softwarearchitektur
  • Entwurfsmuster (Design Patterns) in Java
  • Entwerfen, Strukturieren und Umsetzen von großen Projekten:
  • SOLID
  • GRASP
  • Architekturstile, hexagonale Architektur

Ihre Trainer

Laith Raed
Laith Raed

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

Dr. Matthias Ludwig
Dr. Matthias Ludwig

Expert: Prozesse optimieren, Agile Methoden, Java, Python

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

Expert: Künstliche Intelligenz, Data Science, Python, Java

Fragen und Antworten zur Java Schulung

Welche Kursformate gibt es?

3-tägiger Kurs vor Ort bei der Coding Academy

Der Kurs findet in unsern modernen und top ausgestatteten Schulungsräumen statt. Wir stellen jedem Teilnehmer während der Schulung einen modernen Laptop zur Verfügung. Getränke werden von der Coding Academy zur Verfügung gestellt. Zugang zum Material bekommen Sie spätestens am ersten Tag des Kurses.

3-tägiger Inhaus-Schulung vor Ort bei Ihnen

Gerne kommen auch unsere Trainer zu Ihnen, wenn dies von Ihrer Seite ausdrücklich erwünscht ist und Sie für die Schulung einen guten Schulungsraum und die notwendige Infrastruktur haben.

3-tägiger Onlinekurs

Der Kurs findet Online statt. Sie benötigen lediglich einen Computer mit Internet-Zugang; für manche Kurse ist es allerdings nötig, dass Sie die verwendete Software installieren; das ist in der Beschreibung des jeweiligen Kurses angegeben. Zugang zum Material bekommen Sie spätestens am ersten Tag des Kurses.

4-Wochen Programm

Ein neues und innovatives Lernkonzept. Mehr Infos dazu hier

Wie läuft der formale Prozess ab (Bestellung, Schulung, Rechnung)?

  • Wenn Sie sich für eine Schulung interessieren, kontaktieren Sie uns am besten, damit wir die fachlichen Themen abklären können.
  • Falls Sie die Schulung bei uns absolvieren möchten, lassen wir Ihnen gerne ein unverbindliches Angebot zukommen.
  • Falls das Angebot Ihnen zusagt, nehmen Sie dieses an (eine kurze Zusage per E-Mail reicht aus).

  • Sollten Sie eine Auftragsbestätigung benötigen, schicken wir sie Ihnen gerne zu.
  • Danach finden wir gemeinsam einen Termin, der für Ihr Team gut passt.
  • Bei Online Schulung stellen wir Ihnen den Link zur Verfügung: MS-Teams, BBBServer oder Zoom.
  • Ein paar Tage nach der Schulung erhalten Sie eine Rechnung mit einem Zahlungsziel von zwei Wochen.

  • Bei aktiver Teilnahme an der Schulung erhalten die Teilnehmer/innen ihre Zertifikate nachträglich per E-Mail.

Erhalten Absolventen der Java-Kurse ein Zertifikat?

Selbstverständlich erhalten Sie als Teilnehmer an einem Java-Kurs ein Zertifikat. Voraussetzung dafür ist die komplette Teilnahme an allen Kurseinheiten und Programmier-Aufgaben und die erfolgreiche Programmierung eines kleinen Abschlussprojektes. Das allerdings wird Ihnen nach einem intensiven Java-Kurs mit Sicherheit mehr Freude als Stress bereiten.

Was zeichnet Kurse bei der Coding Academy aus?

  • Individuell: wir gehen gezielt auf Sie ein und berücksichtigen Ihre Vorkenntnisse, Wunschthemen und Schwerpunkte
  • Von Experten nach der RAED-Lehrmethode® entwickelt
  • Kompakt, lebhaft und unterhaltsam
  • Strukturiert und leicht verständlich
  • Viel Praxis: Sie können die im Kurs erlernten Kenntnisse sofort anwenden
  • Theorie auf das Wesentliche optimiert
  • Viele Beispiele und Aufgaben, deren Schwierigkeitsgrad linear ansteigt
  • Kleine Gruppen: max. 8 Teilnehmer im 3-Tages-Kurs; max. 15 Teilnehmer im Online-Coaching
  • Hochqualifizierte Trainer mit bis zu 30 Jahren Erfahrung in Industrie und Lehre an deutschen Hochschulen und Universitäten
  • Bei vor Ort Schulungen stellen wir den Teilnehmern moderne Laptops ohne Zusatzkosten zur Verfügung

Kundenstimmen

Wir danken unseren Kunden für ihr Vertrauen.

Simon

Mein IT-Team hat eine JAVA-SE Schulung bei der Coding Akademie in München absolviert. Wir können diese uneingeschränkt weiterempfehlen. Herr Raed hat die wichtigsten Neuheiten von Java 8 bis 12 in Form von Workshops erklärt. Wir planen daher weitere ...

Ganzes Testimonial zeigen

Simon Gravel,
Geschäftsführer von Freelance.DE

Wenn mich unsere Mitarbeiter/innen bezüglich Schulungen im Coding- und Clean Code- Bereich ansprechen, gibt es mittlerweile nur noch einen Ansprechpartner und das seid natürlich Ihr: die Münchner Coding Akademie! Bei Euren Kursen habt Ihr mit einer s...

Ganzes Testimonial zeigen

Herr Tim Stuckmann,
VW

Hier bleibt keine Frage offen!

Wir nehmen uns sehr gerne Zeit für Sie. Nutzen Sie unser Kontaktformular für eine schriftliche Kontaktaufnahme. Unser Team antwortet rasch und spätestens innerhalb von 24h. Bei fachlichen Fragen und zur Klärung der Schwerpunkte, die für Ihr Team zielführend sind, vereinbaren Sie einen Termin für ein unverbindliches Beratungsgespräch!