Детальна програма навчання
- Команди та перша програма на Kotlin
- Цілі числа, рядки та введення даних: readln()
- Умовні оператори та логіка
- Цикли для керування потоком виконання
- Встановлення IDE та налаштування Kotlin-проєкту
- Дійсні числа та їхні особливості
- Масиви в Kotlin + діапазони та прогресії
- Функції та їхня структура
- Поглиблена робота з рядками
- Pair/Triple та локальні функції
- Null-safety та безпечна робота з null
- Обробка виключень: try/catch/finally
- when: розгалуження, валідація, команди
- Функції для введення/валідації: проєктуємо міні-API утиліт
- Міні-проєкт №1: Гра «Вгадай число»
- vararg and spread: convenient functions
- Проєкт / пакети / імпорти
- Вступ до Git: навіщо потрібен контроль версій
- GitHub: commit / branch / merge / PR, конфлікти
- Колекції List/Set/Map, mutable/immutable, generics: старт наскрізного проєкту
- Обхід колекцій: Iterable, withIndex, entries, безпечне видалення
- Лямбди та callable references у задачах на колекції
- Операції з колекціями I: map/filter/find/any/all/count/mapNotNull
- Операції з колекціями II: сортування, compareBy, top-N через take(n), == vs ===
- Групування та частоти: groupBy, groupingBy().eachCount()
- Агрегації та продуктивність пайплайнів: fold/reduce, Sequence
- Практикум: звіти та пайплайни перетворень
- Рядки поглиблено + Regex + takeIf/takeUnless
- Scope-функції та міні-проєкт №2: Text Analyzer
- Java-сумісність: platform types, SAM, Java API
- Класи та об'єкти: властивості, методи
- Конструктори та init: primary/secondary, require/check
- Властивості: інкапсуляція, lateinit/lazy
- data class та value class
- enum та sealed class, is/as/as?, вичерпний when
- Спадкування та поліморфізм
- Generics поглиблено: variance (out/in), projections, inline/reified
- Інтерфейси, SAM + object/companion object
- Розширення та оператори
- Архітектура та рефакторинг: наскрізний проєкт
- Виключення: Result, runCatching, error design
- Null-safety: дизайн без null, обмеження smart-cast
- Файли: читання/запис, use, шляхи
- Файли: бінарний формат, буфери, порційне копіювання, ZIP
- Кодування та BOM
- Надійний I/O: IOException, атомарний запис, резервне копіювання
- Міні-проєкт №3: File Organizer
- JSON + kotlinx.serialization
- Серіалізація: enum/sealed, анотації
- JsonElement, валідація, JSON vs XML
- Практикум з XML: DOM/XPath
- Дати та час: kotlinx.datetime, часові зони, парсинг/форматування
- Корутини: suspend, runBlocking, launch/async, Dispatchers
- Структурований паралелізм: scope/job, скасування, виключення, withContext
- Channel та Flow
- Синхронізація: Mutex, Atomic*, actor/confinement
- Асинхронний I/O та скасування
- Події/Observer та інтеграція з Flow
- HTTP + Ktor Client + JSON
- БД: JDBC + Exposed + транзакції
- Логування та спостережуваність
- Рефлексія + KSP + Kotlin 2.x + пам'ять JVM
330+
Лекцій
1000+
Завдань
61
Тест
А також:
- Миттєва перевірка
- AI code validator
- Плагін для IDE
- WebIDE
- Гейміфікація
- Мотиваційні лекції