Введение в идиоматический Котлин весна 2026

Материал из Public ATP Wiki
Перейти к: навигация, поиск

Общие сведения о курсе

Курс предназначен для начинающих разработчиков на 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, научному программированию и дизайну библиотек.

Чат курса

чат в Telegram

Материалы занятий

Лекции