Введение в идиоматический Котлин весна 2026
Содержание
Общие сведения о курсе
Курс предназначен для начинающих разработчиков на Kotlin. Подойдет как для тех, у кого Kotlin является первым опытом программирования, так и для тех, кто переходит на Kotlin с других языков.
Важной особенностью курса является то, что упор делается на специфический стиль программирования принятый среди опытных Kotlin разработчиков и отличающийся от "ортодоксального" программирования на C++, Java или даже Scala.
Также в курс включено введение в современные индустриальные технологии на Kotlin: веб-программирование, мультиплатформа, система сборки, использование IDE и так далее.
- Формат курса и отчетность
Курс длится один семестр по два занятия (полтора часа каждое) в неделю (лекция и семинар). В течение курса студентам предлагается три задачи, которые сдаются в виде исходного кода и проходят анализ и ревью преподавателем и ассистентами. Студентам представляется возможность внести правки после замечаний ревьюера. По результатам трех таких сдач формируется окончательная оценка.
Вместо стандартных задач, можно выбрать индивидуальный проект и вместо сдач задач сдавать стадии индивидуального проекта.
Содержание курса
- Идиомы языка Kotlin
- Конструкции языка. Наилучшие практики.
- Объектный и функциональный подход.
- Статическое и динамическое разрешение методов.
- Методы и свойства-расширения.
- Лексические скоупы и их использование.
Nullability.
- Дата-классы и структурная декомпозиция.
- Структуры данных. Коллекции.
- Программа как набор инструкций. Эволюция программ.
- Структура памяти. Segmentation fault.
- Парадигмы программирования. Генеалогия языков.
- Виртуальные машины, байт-код.
- Компиляция и оптимизации.
- Статическая и динамическая линковка. Библиотеки.
- Структура программы. Точки входа.
- Технологии
- Протоколы коммуникации: TCP/IP, HTTP.
- Бэкенд разработка.
- Фронтэнд разработка.
- Мультиплатформные библиотеки.
- Методы анализа данных.
- Многопоточное программирование.
- Асинхронное программирование. Корутины. Реактивные потоки.
- Инструменты
- Kotlin ноутбуки.
- Сборка проекта в Gradle.
- Инструменты современного программиста
- Научное программирование
- Основы численных методов. Понятие о численной точности. Сложность алгоритмов.
- Численное дифференцирование и интегрирование.
- Генераторы случайных чисел и Монте-Карло моделирование.
- Высокопроизводительные параллельные и конкурентные вычисления.
- Проблема ввода-вывода и основные методы ее решения.
- Системы сбора данных. Протоколы обмена данными.
- Основы работы с большими данными.
- Поточная обработка данных.
Руководитель курса
- Александр Нозик https://sciprog.center/people/Nozik
- Директор SPC
- Руководитель российского Kotlin-комьюнити
- Google Developer Expert в 2021 году
- Ведущий эксперт по программированию на Kotlin, научному программированию и дизайну библиотек.Директор SPC
- Руководитель российского Kotlin-комьюнити
- Google Developer Expert в 2021 году
- Ведущий эксперт по программированию на Kotlin, научному программированию и дизайну библиотек.
Чат курса
Материалы занятий
- Записи 2021 года: https://www.youtube.com/playlist?list=PL1iwBJ9vqBRbmM8de93U4I412D3YLN39L
- Записи 2019 года: https://www.youtube.com/playlist?list=PL4_hYwCyhAvZzRpbK4iTy9S6_OWZNEiVk