Введение в Kotlin
Цель модуля: познакомить студентов с общими сведениями о языке, изучить синтаксис Kotlin, познакомиться с наиболее важными компонентами экосистемы, включая Gradle, DSL и корутины, сделать программу и автоматизированные тесты на Kotlin. Для работы потребуются: JDK 11, git, Intellij Idea Community Edition или Ultimate.требования к ПК: памяти не менее 8 ГБ, рекомендуется не менее 16 ГБ.
Тема 1: Введение в курс // ДЗ
Тема 2: Базовые элементы Kotlin
Тема 3: Функциональные элементы Kotlin
Тема 4: Объектно-ориентированное программирование
Тема 5: Предментно ориентированные языки (DSL)
Расширенные возможности Kotlin
Тема 1: Конкурентность с корутинами // ДЗ
Тема 2: Конкурентность с Sequence и Flow-потоками
Тема 3: Мультиплатформенная разработка
Тема 4: Интероперабельность с другими языками
Тема 5: Расширенные возможности Gradle
Подготовка к разработке
Тема 1: Маркетинг и аналитика проекта // ДЗ
Тема 2: Общие принципы защиты информации
Тема 3: Основы DevOps и среда выполнения приложения
Тема 4: Архитектурные принципы и архитектура проекта
Разработка API
Тема 1: Создаем интерфейс с помощью OpenAPI // ДЗ
Тема 2: API колаборативных протоколов
Тема 3: Создаем внутренние модели и маперы
Тема 4: Тестирование проекта
Тема 5: Мониторинг, сбор логов и метрик
Фреймворки и асинхронный транспорт
Тема 1: Разработка приложения со Spring // ДЗ
Тема 2: Разработка приложения с KTOR
Тема 3: Транспорт с WebSocket
Тема 4: Транспорт с RabbitMQ
Тема 5: Транспорт с Kafka
Тема 6: Разработка бессерверного приложения
Бизнес-логика проекта
Тема 1: Основы бизнес-логики и разработка библиотеки для шаблона CoR // ДЗ
Тема 2: Создание модуля бизнес-логики с использованием шаблона Цепочка Ответственности.
Тема 3: Шаг валидации в бизнес-цепочке
Работа с базами данных
Тема 1: Создание репозитария // ДЗ
Тема 2: Конкурентный доступ к БД
Тема 3: Репозитарий с PostgreSQL
Тема 4: Репозитарий с Cassandra
Тема 5: Репозитарий с графовой базой данных
Развитие бизнес-логики проекта
Тема 1: Машина состояний
Тема 2: Авторизация и аутентификация в фреймворках
Тема 3: Введение в машинное обучение
Тема 4: Реализация алгоритмов ML в Kotlin-проекте
Проектная работа
Тема 1: Обзор значимых проектов на Kotlin, которые выходят за рамки курса
Тема 2: Консультация по проектам и домашним заданиям
Тема 3: Защита проектных работ