Kurse für Azubis Anwendungsentwicklung — mit Aufgaben, die dich zwingen, es wirklich zu verstehen: Vorhersage vor der Ausführung, Hints erst nach eigenem Versuch, Verständnis-Check vor der nächsten Lektion.
Code lesen und Ausgabe vorhersagen, bevor er läuft — erzeugt ein echtes mentales Modell statt Trial-and-Error.
Ein Hint ist erst abrufbar, nachdem du kurz beschrieben hast, was du probiert hast und woran es hängt.
Die nächste Lektion bleibt gesperrt, bis der Check zur aktuellen bestanden ist. Kein Vorspulen ohne Verständnis.
Nebenläufigkeit ohne Thread-Chaos: suspend functions, Coroutine Builder, Structured Concurrency, Abbruch, Fehlerbehandlung und Flows — der Werkzeugkasten, mit dem Kotlin asynchronen Code lesbar wie sequenziellen Code macht.
[KOTLIN]Wie aus Kotlin-Quellcode ein lauffähiges Artefakt wird: Gradle mit der Kotlin DSL, im Vergleich zu Maven. build.gradle.kts, Projektstruktur, Plugins, Dependencies, Tasks und Versionsverwaltung — das Handwerkszeug, das jedes reale Kotlin-Projekt braucht. Setzt den Kurs "Kotlin Einführung" voraus.
[KOTLIN]List, Set und Map im Detail: read-only vs. mutable, sicherer Zugriff auf Elemente, die wichtigsten Operationen zum Filtern, Transformieren und Aggregieren sowie Sequences als performante Alternative zu Collections. Baut auf "Kotlin Einführung" auf.
[KOTLIN]Die Grundlagen der Kotlin-Syntax für absolute Einsteiger: Variablen, Typen, Kontrollstrukturen, Funktionen, Null Safety, Strings und einfache Ein-/Ausgabe. Dieser Kurs ist die Voraussetzung für alle weiteren Kotlin-Kurse auf dieser Plattform.
[KOTLIN]try/catch/finally, eigene Exceptions, warum Kotlin keine Checked Exceptions kennt, und die idiomatischen Alternativen (nullable Rückgabewerte, der Result-Type) — für alle, die die Grundlagen aus "Kotlin Einführung" und "Objektorientierte Programmierung in Kotlin" schon kennen und jetzt lernen wollen, wie man Fehler in Kotlin sauber modelliert statt sie nur abzufangen.
[KOTLIN]Funktionen als Werte, Higher-Order Functions, Extension Functions, Scope Functions und Unveränderlichkeit — die funktionalen Werkzeuge, mit denen Kotlin-Code kürzer und klarer wird. Baut auf "Kotlin Einführung" und "Kotlin OOP" auf.
[KOTLIN]Generische Klassen und Funktionen, Type Bounds, Varianz (in/out), Type Projections, Type Erasure sowie Inline- und Reified-Funktionen — für alle, die "kotlin-einfuehrung" und "kotlin-oop" schon abgeschlossen haben.
[KOTLIN]Was tatsächlich passiert, wenn `kotlinc` deinen Code übersetzt: Bytecode, Class-Dateien, Speicherverwaltung und Garbage Collection auf der JVM, die Compiler-Pipeline vom Lexer bis zum Codegen, der moderne K2-Compiler, und was Data Classes oder Inline Functions dafür wirklich im Bytecode auslösen. Für alle, die "Kotlin Einführung" und "Objektorientierte Programmierung" schon abgeschlossen haben und verstehen wollen, was unter der Haube läuft.
[KOTLIN]Klassen, Vererbung, Interfaces und die speziellen Klassenarten von Kotlin (Data, Sealed, Enum) — für alle, die die Grundlagen (Variablen, Kontrollstrukturen, Funktionen, Null-Safety) aus "Kotlin Einführung" schon kennen und jetzt lernen wollen, wie man Programme aus Objekten statt aus einzelnen Funktionen aufbaut.
[KOTLIN]Was unter Coroutines wirklich passiert: Threads, Race Conditions, Locks und Atomics auf der JVM — und wie Dispatchers und Mutex diese Konzepte in der Coroutines-Welt wieder aufgreifen. Baut auf "Kotlin Einführung", "Kotlin OOP" und Coroutines-Grundwissen auf.
[KOTLIN]KClass, Callable References und Introspektion zur Laufzeit — wie Frameworks, Testwerkzeuge und Serialisierer mit Klassen arbeiten, die sie zur Compile-Zeit noch gar nicht kennen. Und ebenso wichtig: wann man das lieber lässt. Baut auf "Kotlin Einführung", "Kotlin OOP" und "Kotlin Generics" auf.
[KOTLIN]Warum Software Tests braucht, wie JUnit 5 in Kotlin-Projekten aufgebaut ist, und wie man Code so schreibt, dass er sich überhaupt testen lässt. Setzt "Kotlin Einführung" und "Kotlin OOP" voraus.