KotlinElective — различия между версиями

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
(Расписание: номер аудитории)
(корректировки)
Строка 1: Строка 1:
'''Kotlin''' — активно развивающийся язык программирования для платформы JVM. Этот язык создан прежде всего для того, чтобы упрощать и ускорять процесс разработки для специалистов, использующих Java. Язык полностью совместим с Java, в одном проекте можно использовать оба языка, общие библиотеки. Вместе с тем, код на Kotlin более компактен и безопасен. Язык довольно прост в освоении, но содержит массу интересных возможностей и особенностей, которые присущи языкам, предполагающим, что любая языковая конструкция является выражением (как, например, Python). Мы считаем, что изучение этого языка будет хорошим вложением в свое будущее (да и просто интересно).  
+
'''Kotlin''' — активно развивающийся язык программирования для различных платформ. Хотя этот язык создан прежде всего для того, чтобы упрощать и ускорять процесс разработки для специалистов, использующих Java, сейчас поддерживается его компиляция не только в JVM-байткод, но и в JavaScript и в машинный код ([https://kotlinlang.org/docs/reference/native-overview.html Kotlin/Native]). Во всех вариантах компиляции сделан упор на возможность использования уже существующих библиотек другого языка. Таким образом, Kotlin используется для разработки приложений для настольных компьютеров, браузеров, серверов и мобильных устройств. Язык довольно прост в освоении, но содержит массу любопытных возможностей и особенностей, которые присущи языкам, предполагающим, что любая языковая конструкция является выражением (как, например, Python). Вместе с тем, код на Kotlin относительно компактен и безопасен. Изучение этого языка будет хорошим вложением в свое будущее. К тому же это просто интересно.
  
 
== Для кого этот курс ==
 
== Для кого этот курс ==
Строка 6: Строка 6:
  
 
=== Требования к слушателям ===
 
=== Требования к слушателям ===
Умение программировать хотя бы на одном языке программирования высокого уровня (Java, C#, C++, Python). Язык Kotlin работает в среде JRE, а потому знание именно языка Java и особенностей виртуальной машины будет большим плюсом, ''но не является обязательным''.
+
Умение программировать хотя бы на одном языке программирования высокого уровня (Java, C#, C++, Python).  
 +
Для решения задач курса надо будет запускать Kotlin-код в основном в среде JRE, поэтому знание языка Java и особенностей виртуальной машины JVM будет плюсом.
 +
Однако, это знание совсем ''не является обязательным'': среди успешно окончивших курс немало студентов, которые впервые познакомились с JVM именно в ходе данного факультатива.
  
 
== Организация курса ==
 
== Организация курса ==
Курс продлится 16 недель. Еженедельно нужно будет посетить одно занятие и выполнить домашнее задание. Каждое занятие будет длиться 2 пары и состоять из теоретической и практической частей. Практика будет занимать большую часть времени. На занятии будут разбираться конкретные «фишки» языка. От студентов ожидается самостоятельность при решении задач, активное взаимодействие друг с другом. Предполагается, что студенты будут приносить с собой на занятие свои портативные компьютеры с настроенной средой IntelliJ IDEA версии не ниже 2017.3 с установленным расширением для разработки на языке Kotlin новейшей версии.
+
Курс продлится 16 недель. Еженедельно нужно будет посетить одно занятие и выполнить домашнее задание. Каждое занятие продлится 2 пары и будет состоять из теоретической и практической частей. Практика будет занимать большую часть времени. На занятии будут разбираться конкретные «фишки» языка. От студентов ожидается самостоятельность при решении задач, активное взаимодействие друг с другом.  
 +
Предполагается, что студенты будут приносить с собой на занятие свои портативные компьютеры с настроенной средой IntelliJ IDEA с установленным расширением для разработки на языке Kotlin версии 1.3 (в современных версиях IDEA язык Kotlin 1.3 поддерживается "из коробки", так как расширение уже предустановлено). Тем не менее, наличие своего ноутбука не является обязательным: занятия будут проходить в компьютерном классе.
  
 
== Расписание ==
 
== Расписание ==
Строка 16: Строка 19:
  
 
В 2019/20 учебном году курс пройдёт уже в четвёртый раз и запланирован во 2 и 3 модулях.<br />
 
В 2019/20 учебном году курс пройдёт уже в четвёртый раз и запланирован во 2 и 3 модулях.<br />
Занятия будут проходить по пятница с 15:10 до 18:10.<br />
+
Занятия будут проходить '''по пятницам с 15:10 до 18:10'''.<br />
 
Каждую неделю планируется проводить лекцию и практическое занятие.<br />
 
Каждую неделю планируется проводить лекцию и практическое занятие.<br />
 
Первое занятие должно состояться 1 или 8 ноября.
 
Первое занятие должно состояться 1 или 8 ноября.

Версия 17:14, 18 сентября 2019

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.3 (в современных версиях IDEA язык Kotlin 1.3 поддерживается "из коробки", так как расширение уже предустановлено). Тем не менее, наличие своего ноутбука не является обязательным: занятия будут проходить в компьютерном классе.

Расписание

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

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

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

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

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

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

Полезные материалы

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

Каждую неделю студенты будут выполнять задания в аудитории. Будут предложены дополнительные задачки для решения дома. Эти задачи составят 0,7 от накопленной оценки. Еще 0,3 даёт большое домашнее задание, выполняемое в середине курса. Экзамен, завершающий курс, имеет вес 0,2, а накопленная оценка составляет 0,8 от итоговой. Экзамен — тест по пройденному материалу.

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

А. А. Мицюк - научный сотрудник ФКН (личная страница)

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

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