Kurs
digicode: JAVA3A
Modern Java: Streams, Testing & Concurrency
Kurs-Facts
Als PDF herunterladen- Funktionales und effizientes Ausdrücken der bDatenverarbeitung mit der Streams API
- Einsetzen von Collectors für Gruppierung, Statistiken und komplexe Aggregationen
- Schreiben professioneller Unit Tests mit JUnit 5 und Mocken von Abhängigkeiten mit Mockito
- Anwenden des TDD-Ansatzes (Test-Driven Development) und Entwerfen testbarer Architekturen
- Professionelles Verwalten von Build-Projekten mit Maven und Managen von Abhängigkeiten
- Schreiben nebenläufiger Programme mit ExecutorService und CompletableFuture
- Einsetzen von KI-Tools für Testgenerierung, Streams-Optimierung und Concurrency-Analyse
Tag 1: Streams API und File I/O
Meistere die Streams API für funktionale Datenverarbeitung — von filter, map und sorted über Collectors (groupingBy, partitioningBy, summarizing) bis zu reduce und flatMap. Du arbeitest mit parallelen Streams und vertiefst Optional. Dazu lernst du File I/O mit NIO.2 (Path, Files.lines(), Files.walk()).
Tag 2: Testing und Code-Qualität
Du schreibst professionelle Unit Tests mit JUnit 5 (Assertions, Lifecycle, Parameterized Tests, Nested Tests). Du erlernst Mocking mit Mockito (Stubs, Mocks, Spies, Verify) und den TDD-Ansatz (Red-Green-Refactor). Dazu kommen Logging mit SLF4J/Logback und testbare Architektur.
Tag 3: Build-Management und Concurrency
Du verwaltest Projekte professionell mit Maven (pom.xml, Dependencies, Build-Lifecycle, Plugins). Zudem erlernst du nebenläufige Programmierung: Threads, ExecutorService, CompletableFuture sowie Thread Safety mit synchronized und Concurrent Collections und erhältst einen Überblick über das Java Module System.
Begleitend nutzt du KI-Tools als professionelles Werkzeug — zum Generieren und Optimieren von Streams-Code, automatischen Erstellen von Unit Tests und Analysieren von Concurrency-Problemen.
Der Kurs kombiniert Theorie und Praxis:
- Kurze Theorie-Inputs, Live-Coding und Demos durch den Trainer
- Zahlreiche Hands-on-Übungen mit steigendem Schwierigkeitsgrad
- KI-gestützte Übungen: Tests generieren, Streams optimieren, Concurrency-Probleme analysieren
- Kapitelübungen als praxisnahe Mini-Projekte (Log-Analyser, Testbare Bibliothek, Concurrent Word Counter)
- Interaktives Training mit Raum für Fragen und Diskussionen
Voraussetzung sind fundierte Java- und OOP-Kenntnisse entsprechend den Kursen «Objektorientierte Programmierung in Java» (JAVA2A) und «Java Application Skills» (Level 2B) oder vergleichbare Kenntnisse: Klassen, Vererbung, Interfaces, Generics, Lambda-Ausdrücke, Collections (List, Set, Map) und funktionale Interfaces.
Alle Teilnehmenden benötigen Zugang zu einem KI-Textbot (z. B. ChatGPT, Claude, Copilot oder Perplexity).
Bitte erstelle vor Kursbeginn einen kostenlosen KI-Account (z.B. ChatGPT, Claude, Copilot oder Perplexity).