Szczegółowy program szkolenia
- Polecenia i pierwszy program w Kotlinie
- Liczby całkowite, ciągi znaków i wczytywanie danych: readln()
- Operatory warunkowe i logika
- Pętle do sterowania przepływem wykonania
- Instalacja IDE i konfiguracja projektu Kotlin
- Liczby rzeczywiste i ich osobliwości
- Tablice w Kotlinie + zakresy i progresje
- Funkcje i ich struktura
- Zaawansowana praca z ciągami znaków
- Pair/Triple i funkcje lokalne
- Null-safety i bezpieczna obsługa null
- Obsługa wyjątków: try/catch/finally
- when: rozgałęzienia, walidacja, polecenia
- Funkcje do wczytywania/walidacji: projektowanie mini-API narzędzi
- Miniprojekt #1: Gra „Zgadnij liczbę"
- vararg i spread: wygodne funkcje
- Projekt / pakiety / importy
- Wprowadzenie do Gita: po co jest kontrola wersji
- GitHub: commit / branch / merge / PR, konflikty
- Kolekcje List/Set/Map, mutable/immutable, generics: start projektu przekrojowego
- Iterowanie po kolekcjach: Iterable, withIndex, entries, bezpieczne usuwanie
- Lambdy i callable references w zadaniach z kolekcjami
- Operacje na kolekcjach I: map/filter/find/any/all/count/mapNotNull
- Operacje na kolekcjach II: sortowania, compareBy, top-N przez take(n), == vs ===
- Grupowania i częstości: groupBy, groupingBy().eachCount()
- Agregacje i wydajność potoków: fold/reduce, Sequence
- Warsztaty: raporty i potoki transformacji
- Ciągi znaków dogłębnie + Regex + takeIf/takeUnless
- Scope-functions i miniprojekt #2: Text Analyzer
- Interoperacyjność z Javą: platform types, SAM, Java API
- Klasy i obiekty: właściwości, metody
- Konstruktory i init: primary/secondary, require/check
- Właściwości: enkapsulacja, lateinit/lazy
- data class i value class
- enum i sealed class, is/as/as?, exhaustive when
- Dziedziczenie i polimorfizm
- Generics zaawansowane: wariancja (out/in), projekcje, inline/reified
- Interfejsy, SAM + object/companion object
- Rozszerzenia i operatory
- Architektura i refaktoryzacja: projekt przekrojowy
- Wyjątki: Result, runCatching, projektowanie błędów
- Null-safety: projektowanie bez null, ograniczenia smart-cast
- Pliki: odczyt/zapis, use, ścieżki
- Pliki: dane binarne, bufory, kopiowanie fragmentami, ZIP
- Kodowania i BOM
- Niezawodne I/O: IOException, zapis atomowy, kopia zapasowa
- Miniprojekt #3: File Organizer
- JSON + kotlinx.serialization
- Serializacja: enum/sealed, adnotacje
- JsonElement, walidacja, JSON vs XML
- Warsztaty XML: DOM/XPath
- Daty i czas: kotlinx.datetime, strefy czasowe, parsowanie/formatowanie
- Coroutines: suspend, runBlocking, launch/async, Dispatchers
- Structured concurrency: scope/job, anulowanie, wyjątki, withContext
- Channel i Flow
- Synchronizacja: Mutex, Atomic*, actor/confinement
- Asynchroniczne I/O i anulowanie
- Zdarzenia/Observer i integracja z Flow
- HTTP + Ktor Client + JSON
- BD: JDBC + Exposed + transakcje
- Logowanie i obserwowalność
- Refleksja + KSP + Kotlin 2.x + pamięć JVM
330+
Lekcji
1000+
Zadań
61
Testów
A także:
- Natychmiastowa weryfikacja zadań
- Walidator kodu AI
- Wtyczka IDE
- WebIDE
- Grywalizacja
- Motywacyjne wykłady