Подробная программа обучения
- Команды и первая программа в Kotlin
- Целые числа, строки и ввод данных: readln()
- Условные операторы и логика
- Циклы для управления потоком выполнения
- Установка IDE и настройка Kotlin‑проекта
- Вещественные числа и их особенности
- Массивы в Kotlin + диапазоны и прогрессии
- Функции и их структура
- Продвинутая работа со строками
- Pair/Triple и локальные функции
- Null-safety и безопасная работа с null
- Обработка исключений: try/catch/finally
- when: ветвления, валидация, команды
- Функции для ввода/валидации: проектируем мини‑API утилит
- Мини‑проект #1: Игра «Угадай число»
- vararg и spread: удобные функции
- Проект/пакеты/импорты
- Введение в 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 interoperability: platform types, SAM, Java API
- Классы и объекты: свойства, методы
- Конструкторы и init: primary/secondary, require/check
- Свойства: инкапсуляция, lateinit/lazy
- data class и value class
- enum и sealed class, is/as/as?, exhaustive when
- Наследование и полиморфизм
- Generics углублённо: variance (out/in), projections, inline/reified
- Интерфейсы, SAM + object/companion object
- Extensions и операторы
- Архитектура и рефакторинг: сквозной проект
- Исключения: Result, runCatching, дизайн ошибок
- Null-safety: дизайн без null, ограничения smart-cast
- Файлы: чтение/запись, use, пути
- Файлы: бинарь, буферы, chunk‑копирование, ZIP
- Кодировки и BOM
- Надёжное I/O: IOException, atomic write, backup
- Мини‑проект #3: File Organizer
- JSON + kotlinx.serialization
- Сериализация: enum/sealed, аннотации
- JsonElement, валидация, JSON vs XML
- XML практикум: DOM/XPath
- Даты и время: kotlinx.datetime, таймзоны, парсинг/форматирование
- Корутины: suspend, runBlocking, launch/async, Dispatchers
- Structured concurrency: 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-валидатор кода
- Плагин для IDE
- WebIDE
- Геймификация
- Мотивационные лекции