KotlinElective

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
240px-Kotlin-logo.png

Kotlin — активно развивающийся язык программирования для различных платформ. Хотя этот язык создан прежде всего для того, чтобы упрощать и ускорять процесс разработки для специалистов, использующих Java, сейчас поддерживается его компиляция не только в JVM-байткод, но и в JavaScript и в машинный код (Kotlin/Native). Во всех вариантах компиляции сделан упор на возможность использования уже существующих библиотек другого языка. Таким образом, Kotlin используется для разработки приложений для настольных компьютеров, браузеров, серверов и мобильных устройств. Язык довольно прост в освоении, но содержит массу любопытных возможностей и особенностей, которые присущи языкам, предполагающим, что любая языковая конструкция является выражением (как, например, Python). Вместе с тем, код на Kotlin относительно компактен и безопасен. Изучение этого языка будет хорошим вложением в свое будущее. К тому же это просто интересно.

Для кого этот курс

Для студентов 1-4 курсов бакалавриата, которые уже умеют программировать, заинтересованы в изучении новых перспективных технологии, планируют работать (или уже подрабатывают в свободное от учебы время) как программисты-практики, думают о том, каким образом повысить эффективность процесса программирования. Студенты первого курса могут записываться на курс, но должны предварительно хорошо рассчитать свои силы.

Требования к слушателям

Умение программировать хотя бы на одном языке программирования высокого уровня (Java, C#, C++, Python). Для решения задач курса надо будет запускать Kotlin-код в основном в среде JRE, поэтому знание языка Java и особенностей виртуальной машины JVM будет плюсом. Однако, это знание совсем не является обязательным: среди успешно окончивших курс немало студентов, которые впервые познакомились с JVM именно в ходе данного факультатива.

Организация курса

Курс продлится 16 недель. Еженедельно нужно будет посетить одно занятие и выполнить домашнее задание. Каждое занятие продлится 2 пары и будет состоять из теоретической и практической частей. Практика будет занимать большую часть времени. На занятии будут разбираться конкретные «фишки» языка. От студентов ожидается самостоятельность при решении задач, активное взаимодействие друг с другом. Предполагается, что студенты будут приносить с собой на занятие свои портативные компьютеры с настроенной средой IntelliJ IDEA с установленным расширением для разработки на языке Kotlin версии 1.4 (в современных версиях IDEA язык Kotlin 1.4 поддерживается "из коробки", так как расширение уже предустановлено). Тем не менее, наличие своего ноутбука не является обязательным: занятия будут проходить в компьютерном классе.

Регистрация на курс

Участники курса должны заполнить анкету.

Где задать вопросы?

У курса есть канал в discord, где можно задать вопросы.

Расписание

Осень 2019 - Весна 2020

В 2019/20 учебном году курс пройдёт уже в четвёртый раз и запланирован во 2 и 3 модулях.
Занятия будут проходить по пятницам с 15:10 до 18:10.
Каждую неделю планируется проводить лекцию и практическое занятие.
Первое занятие должно состояться 1 ноября.

2 модуль: c 1 ноября по 21 декабря – ауд. R608
3 модуль: c 10 января 2020 по 6 марта 2020 – ауд. R608

Не переживайте, если мест для официальной записи на факультатив нет. Если вам интересен курс, имеет смысл всё равно появиться на первом занятии. Мы что-нибудь придумаем.

Предварительный список тем курса

  • Базовый синтаксис языка. Основные управляющие конструкции;
  • Система типов;
  • Массивы, диапазоны, строки, коллекции;
  • Операторы;
  • Объектно-ориентированное программирование с использованием языка Kotlin. Разбор конкретных приёмов и задач;
  • Функциональное программирование с использованием языка Kotlin. Разбор конкретных приёмов и задач;
  • Инструменты обобщенного программирования в языке;
  • Разработка предметно-ориентированных языков с использованием языка Kotlin;
  • Использование языка Kotlin совместно с Java;
  • и другие темы.

Предварительно в рамках курса запланированы доклады от приглашенных лекторов. Их темы будут определены позднее.

Материалы курса

Материалы курса будут доступны слушателям.

Видео приглашенной лекции Михаила Глухих 6 марта 2020 года.

Другие полезные материалы

Как будут выставляться оценки

Каждую неделю студенты будут выполнять задания в аудитории и дома. Эти задачи составят 0.7 от итоговой оценки. Еще 0.1 даёт большое домашнее задание, выполняемое в середине курса. Экзамен, завершающий курс, имеет вес 0.2 от итоговой. Кроме того, предусмотрено выполнение некоторых относительно больших проектов, которые могут быть зачтены вместо экзамена. Все тонкости и особенности правил формирования оценки будут озвучены на первом занятии и опубликованы для участников курса.

Автор и преподаватель курса

А. А. Мицюк - доцент департамента программной инженерии ФКН (личная страница)

Благодарности

Факультатив проходит при поддержке компании JetBrains.