Подробнее
Что нужно для старта
- 🔧 Рекомендуемые знания:
- 🧱 Базовое понимание синтаксиса Kotlin — переменные, функции, классы, основные конструкции языка
- 📱 Минимальный опыт разработки мобильных приложений на одной из платформ: Android (Kotlin/Java) или iOS (Swift)
- 🎨 Опыт работы с декларативным UI фреймворком на любой из платформ
- 🚀 Общее представление о процессе создания приложений — от идеи до публикации
- 💻 Технические возможности:
- 🖥️ Компьютер с минимум 8 ГБ ОЗУ (рекомендуется 16+ ГБ для iOS-сборки)
- 📡 Стабильное интернет-подключение
- ⚙️ Возможность установки и настройки сред разработки (Android Studio, Xcode)
- ✅ Чему научим в курсе (НЕ ТРЕБУЕТСЯ заранее):
- 🔄 Опыт работы с Kotlin Multiplatform (KMP)
- 🐧 Знания Linux или Git
- 🗄️ Опыт работы с базами данных
- 📦 Знание систем сборки Gradle
- 🌟 Важно: Программа курса по KMP рассчитана на разработчиков с минимальным коммерческим опытом. Курсы по Git, SQL и Linux начинаются с основ и подходят для новичков в этих технологиях.
Что вы получите
- Разрабатывать кросс-платформенные приложения для Android, iOS и Desktop с использованием Kotlin Multiplatform (KMP) и Compose Multiplatform (CMP).
- Создавать и оптимизировать SQL-запросы, проектировать базы данных и интегрировать их в приложения (SQLite/SQLDelight).
- Профессионально использовать систему контроля версий Git и платформу GitHub для командной разработки.
- Работать в Linux-терминале: настраивать окружение, управлять процессами, файлами и сетевыми подключениями.
- Настраивать систему сборки Gradle для мультиплатформенных проектов.
- Реализовывать архитектурные паттерны (например, MVVM) и внедрять зависимости в KMP-проектах.
- Создавать и обращаться к REST API, используя сетевой слой на Ktor.
- Управлять общим кодом (common), платформенно-специфичным кодом (expect/actual) и ресурсами в KMP.
- Администрировать рабочее окружение для разработки, используя инструменты командной строки Linux.
- Синхронизировать данные между локальным хранилищем (БД) и серверной частью.
Для кого этот курс
- 📱 Мобильные разработчики (Android/iOS)
- Которые хотят освоить кросс-платформенную разработку на Kotlin Multiplatform
- 💻 Kotlin-разработчики
- Которые стремятся расширить свои навыки до full-stack или мультиплатформенной разработки
- 🚀 Начинающие в Kotlin
- С опытом в других языках, которые хотят освоить современный стек разработки с нуля
- 🎓 Студенты IT-специальностей
- Которые хотят получить практические навыки для старта карьеры в мобильной и кросс-платформенной разработке
- 🔧 Разработчики, стремящиеся к универсальности
- Которые хотят создавать приложения для нескольких платформ из одной кодовой базы
Программа курса
- Знакомство
- О курсе
- Обзор систем контроля версий
- Установка и настройка Git
- Первый репозиторий
- Первый коммит
- Индекс
- Подробнее о коммита
- Откат изменений
- Удаление файлов
- Переименование/перемещение файлов
- Просмотр изменений
- История коммитов
- Машина времени (изменение истории)
- Игнорирование файлов
- Домашнее задание
- Создание удаленного репозитория
- Клонирование репозитория
- SSH аутентификация
- Копирование чужого репозитория (fork)
- GitHub Copilot
- Файл Readme.md и разметка Markdown
- Альтернативы GitHub
- Домашнее задание
- Введение в ветки
- Переключение между ветками
- Создание, просмотр, удаление веток
- Слияние веток
- Конфликты при слиянии
- Экстренное переключение между задачами
- Безопасное обновление репозитория
- Поиск автора кода
- Запросы на слияние (Pull Request)
- Большая шпаргалка
- Инициализация проекта
- Задачи в Gradle
- Добавление Desktop модуля и подключение Compose Multiplatform
- Добавление Android к проекту
- Создаем iOS приложение и подключаем к нему общий код
- Знакомство с синтаксисом expect-actual
- Презентационный паттерн MVVM, добавление ViewModel
- Подключаем тему приложения
- Работа с кросс-платформенными ресурсами
- Внедряем кросс-платформенные настройки
- Внедрение зависимостей с помощью Koin
- Модели данных и UI атомы
- Работаем с календарём
- Добавляем экран категорий
- Экран событий, работа с диалогами в Compose Multiplatform.
- Подключаем базу данных SqlDelight
- Инициализируем сервер на CMS Strapi
- Кастомизация логики сервера на CMS Strapi
- Создаем сетевой слой на Ktor. Синхронизация данных.
- Decompose. Часть 1
- Знакомство
- О курсе
- Установка MySQL сервера
- Работа в терминале
- Графические IDE (Workbench, DBeaver)
- Взаимодействие с сервером
- Контрольные вопросы
- Решаем задачи. Пишем SQL код
- Первичные ключи
- Особенности типов данных и именование объектов
- Руководство по стилю SQL · SQL Style Guide
- Индексы
- Внешние ключи
- Подробнее про ALTER TABLE
- Особенности синтаксиса MySQL
- Виды связей между таблицами (1х1, 1хМ, МхМ)
- Таблицы-справочники
- ER-диаграмма
- Контрольные вопросы. Часть 1
- Контрольные вопросы. Часть 2
- Решаем задачи. Пишем SQL код. Часть 1
- Решаем задачи. Пишем SQL код. Часть 2
- Команда INSERT
- Команда SELECT
- Команда UPDATE
- Команда DELETE
- Бонус: Сервисы для генерации данных
- Импорт-экспорт данных
- Контрольные вопросы
- Решаем задачи. Пишем SQL код. Часть 1
- Решаем задачи. Пишем SQL код. Часть 2
- Фильтрация (WHERE + LIKE)
- Сортировка (ORDER BY)
- Агрегирующие функции (COUNT, MIN, MAX, AVG, SUM)
- Группировка (GROUP BY)
- Фильтрация (HAVING)
- Отсутствие значения (NULL)
- Пейджинг (LIMIT + OFFSET)
- Условия, ветвления (IF, CASE)
- Контрольные вопросы. Часть 1
- Контрольные вопросы. Часть 2
- Контрольные вопросы. Часть 3
- Решаем задачи. Пишем SQL код. Часть 1
- Решаем задачи. Пишем SQL код. Часть 2
- Вложенные запросы (подзапросы)
- Объединения (JOIN) - Теория
- Объединения (CROSS JOIN, INNER JOIN)
- Объединения (LEFT JOIN, RIGHT JOIN)
- Объединения (FULL OUTER JOIN)
- Вложенные запросы VS объединения
- Соединения (UNION)
- Оконные функции
- Общие табличные выражения (CTE)
- Рекурсивные табличные выражения
- Контрольные вопросы. Часть 1
- Контрольные вопросы. Часть 2
- Решаем задачи. Пишем SQL код. Часть 1
- Решаем задачи. Пишем SQL код. Часть 2
- Решаем задачи. Пишем SQL код. Часть 3
- Решаем задачи. Пишем SQL код. Часть 4
- Полнотекстовый поиск
- Представления (View)
- Хранимые процедуры
- Пользовательские функции
- Переменные
- Триггеры
- Контрольные вопросы. Часть 1
- Контрольные вопросы. Часть 2
- Контрольные вопросы. Часть 3
- Решаем задачи. Пишем SQL код. Часть 1
- Решаем задачи. Пишем SQL код. Часть 2
- Введение в транзакции
- Обработка исключений (ошибок)
- Уровни изоляции транзакций
- Блокировки таблиц
- Взаимная блокировка (deadlock)
- Контрольные вопросы. Часть 1
- Контрольные вопросы. Часть 2
- Решаем задачи. Пишем SQL код
- Пользователи
- Роли
- Контрольные вопросы. Часть 1
- Контрольные вопросы. Часть 2
- Решаем задачи. Пишем SQL код
- Лишний JOIN
- Денормализация
- Настройки сервера
- Анализ запросов (EXPLAIN)
- Графический план исполнения запроса
- Исправление проблемных мест
- Графический план: показательные примеры
- Контрольные вопросы
- Решаем задачи. Пишем SQL код. Часть 1
- Решаем задачи. Пишем SQL код. Часть 2
- Работа с логами
- Циклы
- Курсоры
- SQL инъекции
- Контрольные вопросы
- Решаем задачи. Пишем SQL код
- О курсе
- Установка Linux Ubuntu как виртуальной машины
- Разворачивание Linux "в облаках"
- Настройка SSH-сервера
- Резюме модуля `Введение`. Контрольные вопросы
- Трюки и лайфхаки в терминале
- Список горячих клавиш в терминале Linux
- Основные команды для навигации по папкам
- Создание файлов и папок
- Просмотр файлов
- Резюме модуля. Контрольные вопросы
- Nano. Дружественный к пользователю текстовый редактор
- Vim. Редактор по умолчанию
- Vimtutor. Обучалка по редактору Vim.
- Резюме модуля. Контрольные вопросы.
- Шпаргалка по редактору Nano
- Шпаргалка по горячим клавишам Vim
- Тест по пройденному материалу
- Домашнее задание
- Поиск файлов, команда find
- Важные директории, утилиты, архивирование
- Резюме модуля. Контрольные вопросы
- Вывод информации о пользователях
- Создание пользователей
- Изменение пользователей
- Права root, удаление пользователей
- Управление группами
- Резюме модуля. Контрольные вопросы
- Домашнее задание
- Вывод информации + команда chmod
- Смена владельцев и групп
- Специальные биты, права по умолчанию
- Резюме модуля. Контрольные вопросы
- Домашнее задание
- Ссылки, iNodes
- Потоки ввода-вывода
- Конвейер обработки команд
- Резюме модуля. Контрольные вопросы
- Домашнее задание
- Утилита top (диспетчер задач)
- Утилиты htop, ps, kill, systemctl
- Резюме модуля. Контрольные вопросы
- Утилита apt / apt-get
- Утилиты dpkg, snap
- Добавление репозитория
- Резюме модуля. Контрольные вопросы
- Служба cron, утилита crontab
- Настройка логов, задачи других пользователей
- Резюме модуля. Контрольные вопросы
- Просмотр, добавление, удаление правил
- Политики по умолчанию, сохранение правил
- Резюме модуля. Контрольные вопросы
- История создания, запуск скриптов, оболочка
- Синтаксис Bash: условия, ветвления
- Синтаксис Bash: циклы, функции
- Резюме модуля. Контрольные вопросы
- Дисклеймер
- Чтение информации
- Монтирование диска
- Общее файловое хранилище
- Дополнительные диски "в облаках"
- LVM (logical volume management)
- Домашнее задание
- Дисклеймер
- Введение, установка
- Список команд, первый контейнер
- Контейнер с документацией
- Веб-сервер Nginx в Docker
- Dockerfile
- Docker Compose
- Удаление ресурсов
- Домашнее задание
- Итоги
01Git [1] Основы Git
- Знакомство
- О курсе
- Обзор систем контроля версий
- Установка и настройка Git
- Первый репозиторий
- Первый коммит
- Индекс
- Подробнее о коммита
- Откат изменений
- Удаление файлов
- Переименование/перемещение файлов
- Просмотр изменений
- История коммитов
- Машина времени (изменение истории)
- Игнорирование файлов
- Домашнее задание
02Git [2] GitHub
- Создание удаленного репозитория
- Клонирование репозитория
- SSH аутентификация
- Копирование чужого репозитория (fork)
- GitHub Copilot
- Файл Readme.md и разметка Markdown
- Альтернативы GitHub
- Домашнее задание
03Git [3] Ветвление и командная работа
- Введение в ветки
- Переключение между ветками
- Создание, просмотр, удаление веток
- Слияние веток
- Конфликты при слиянии
- Экстренное переключение между задачами
- Безопасное обновление репозитория
- Поиск автора кода
- Запросы на слияние (Pull Request)
- Большая шпаргалка
04Система сборки Gradle
- Инициализация проекта
- Задачи в Gradle
- Добавление Desktop модуля и подключение Compose Multiplatform
- Добавление Android к проекту
- Создаем iOS приложение и подключаем к нему общий код
05Разработка каркаса приложения
- Знакомство с синтаксисом expect-actual
- Презентационный паттерн MVVM, добавление ViewModel
- Подключаем тему приложения
- Работа с кросс-платформенными ресурсами
- Внедряем кросс-платформенные настройки
- Внедрение зависимостей с помощью Koin
06Вёрстка экранов приложения
- Модели данных и UI атомы
- Работаем с календарём
- Добавляем экран категорий
- Экран событий, работа с диалогами в Compose Multiplatform.
07Серверная часть на Strapi и работа с данными
- Подключаем базу данных SqlDelight
- Инициализируем сервер на CMS Strapi
- Кастомизация логики сервера на CMS Strapi
- Создаем сетевой слой на Ktor. Синхронизация данных.
08Навигация
- Decompose. Часть 1
09SQL [1] Установка рабочего окружения
- Знакомство
- О курсе
- Установка MySQL сервера
- Работа в терминале
- Графические IDE (Workbench, DBeaver)
- Взаимодействие с сервером
- Контрольные вопросы
- Решаем задачи. Пишем SQL код
10SQL [2] Проектирование БД (команды DDL)
- Первичные ключи
- Особенности типов данных и именование объектов
- Руководство по стилю SQL · SQL Style Guide
- Индексы
- Внешние ключи
- Подробнее про ALTER TABLE
- Особенности синтаксиса MySQL
- Виды связей между таблицами (1х1, 1хМ, МхМ)
- Таблицы-справочники
- ER-диаграмма
- Контрольные вопросы. Часть 1
- Контрольные вопросы. Часть 2
- Решаем задачи. Пишем SQL код. Часть 1
- Решаем задачи. Пишем SQL код. Часть 2
11SQL [3] Работа с данными (команды DML, CRUD)
- Команда INSERT
- Команда SELECT
- Команда UPDATE
- Команда DELETE
- Бонус: Сервисы для генерации данных
- Импорт-экспорт данных
- Контрольные вопросы
- Решаем задачи. Пишем SQL код. Часть 1
- Решаем задачи. Пишем SQL код. Часть 2
12SQL [4] Основы SELECT запросов
- Фильтрация (WHERE + LIKE)
- Сортировка (ORDER BY)
- Агрегирующие функции (COUNT, MIN, MAX, AVG, SUM)
- Группировка (GROUP BY)
- Фильтрация (HAVING)
- Отсутствие значения (NULL)
- Пейджинг (LIMIT + OFFSET)
- Условия, ветвления (IF, CASE)
- Контрольные вопросы. Часть 1
- Контрольные вопросы. Часть 2
- Контрольные вопросы. Часть 3
- Решаем задачи. Пишем SQL код. Часть 1
- Решаем задачи. Пишем SQL код. Часть 2
13SQL [5] Сложные SELECT запросы
- Вложенные запросы (подзапросы)
- Объединения (JOIN) - Теория
- Объединения (CROSS JOIN, INNER JOIN)
- Объединения (LEFT JOIN, RIGHT JOIN)
- Объединения (FULL OUTER JOIN)
- Вложенные запросы VS объединения
- Соединения (UNION)
- Оконные функции
- Общие табличные выражения (CTE)
- Рекурсивные табличные выражения
- Контрольные вопросы. Часть 1
- Контрольные вопросы. Часть 2
- Решаем задачи. Пишем SQL код. Часть 1
- Решаем задачи. Пишем SQL код. Часть 2
- Решаем задачи. Пишем SQL код. Часть 3
- Решаем задачи. Пишем SQL код. Часть 4
14SQL [6] Продвинутые фичи SQL
- Полнотекстовый поиск
- Представления (View)
- Хранимые процедуры
- Пользовательские функции
- Переменные
- Триггеры
- Контрольные вопросы. Часть 1
- Контрольные вопросы. Часть 2
- Контрольные вопросы. Часть 3
- Решаем задачи. Пишем SQL код. Часть 1
- Решаем задачи. Пишем SQL код. Часть 2
15SQL [7] Транзакции
- Введение в транзакции
- Обработка исключений (ошибок)
- Уровни изоляции транзакций
- Блокировки таблиц
- Взаимная блокировка (deadlock)
- Контрольные вопросы. Часть 1
- Контрольные вопросы. Часть 2
- Решаем задачи. Пишем SQL код
16SQL [8] Права доступа
- Пользователи
- Роли
- Контрольные вопросы. Часть 1
- Контрольные вопросы. Часть 2
- Решаем задачи. Пишем SQL код
17SQL [9] Вопросы оптимизации
- Лишний JOIN
- Денормализация
- Настройки сервера
- Анализ запросов (EXPLAIN)
- Графический план исполнения запроса
- Исправление проблемных мест
- Графический план: показательные примеры
- Контрольные вопросы
- Решаем задачи. Пишем SQL код. Часть 1
- Решаем задачи. Пишем SQL код. Часть 2
18SQL [10] Дополнительные темы
- Работа с логами
- Циклы
- Курсоры
- SQL инъекции
- Контрольные вопросы
- Решаем задачи. Пишем SQL код
19Linux [1] Настройка рабочей среды
- О курсе
- Установка Linux Ubuntu как виртуальной машины
- Разворачивание Linux "в облаках"
- Настройка SSH-сервера
- Резюме модуля `Введение`. Контрольные вопросы
20Linux [2] Знакомство с терминалом
- Трюки и лайфхаки в терминале
- Список горячих клавиш в терминале Linux
- Основные команды для навигации по папкам
- Создание файлов и папок
- Просмотр файлов
- Резюме модуля. Контрольные вопросы
21Linux [3] Редактирование файлов
- Nano. Дружественный к пользователю текстовый редактор
- Vim. Редактор по умолчанию
- Vimtutor. Обучалка по редактору Vim.
- Резюме модуля. Контрольные вопросы.
22Linux [4] Промежуточные итоги
- Шпаргалка по редактору Nano
- Шпаргалка по горячим клавишам Vim
- Тест по пройденному материалу
- Домашнее задание
23Linux [5] Файловая структура
- Поиск файлов, команда find
- Важные директории, утилиты, архивирование
- Резюме модуля. Контрольные вопросы
24Linux [6] Управление пользователями и группами
- Вывод информации о пользователях
- Создание пользователей
- Изменение пользователей
- Права root, удаление пользователей
- Управление группами
- Резюме модуля. Контрольные вопросы
- Домашнее задание
25Linux [7] Права доступа (rwx)
- Вывод информации + команда chmod
- Смена владельцев и групп
- Специальные биты, права по умолчанию
- Резюме модуля. Контрольные вопросы
- Домашнее задание
26Linux [8] Важные инструменты терминала Linux
- Ссылки, iNodes
- Потоки ввода-вывода
- Конвейер обработки команд
- Резюме модуля. Контрольные вопросы
- Домашнее задание
27Linux [9] Инструменты для мониторинга
- Утилита top (диспетчер задач)
- Утилиты htop, ps, kill, systemctl
- Резюме модуля. Контрольные вопросы
28Linux [10] Управление программным обеспечением
- Утилита apt / apt-get
- Утилиты dpkg, snap
- Добавление репозитория
- Резюме модуля. Контрольные вопросы
29Linux [11] Планировщик задач
- Служба cron, утилита crontab
- Настройка логов, задачи других пользователей
- Резюме модуля. Контрольные вопросы
30Linux [12] Работа с фаерволом (утилита iptables)
- Просмотр, добавление, удаление правил
- Политики по умолчанию, сохранение правил
- Резюме модуля. Контрольные вопросы
31Linux [13] Bash
- История создания, запуск скриптов, оболочка
- Синтаксис Bash: условия, ветвления
- Синтаксис Bash: циклы, функции
- Резюме модуля. Контрольные вопросы
32Linux [14] Работа с дисками
- Дисклеймер
- Чтение информации
- Монтирование диска
- Общее файловое хранилище
- Дополнительные диски "в облаках"
- LVM (logical volume management)
- Домашнее задание
33Linux [15] Docker
- Дисклеймер
- Введение, установка
- Список команд, первый контейнер
- Контейнер с документацией
- Веб-сервер Nginx в Docker
- Dockerfile
- Docker Compose
- Удаление ресурсов
- Домашнее задание
34Завершение
- Итоги
Отзывы о курсе
Оставьте отзыв
Расскажите о качестве обучения, поддержке и результате. Это поможет другим выбрать организацию осознанно.
Оставьте заявку
Консультант ответит на вопросы о курсе «Программа: Kotlin-разработчик [ Kotlin + Git + SQL + Linux ]» и поможет разобраться в деталях обучения.
Нажимая кнопку, вы даете согласие на обработку персональных данных
Информация обновлена 7 сентября 2026 г.

Stepik 


















