Является дисциплиной по выбору. Дисциплина познакомит студентов с различными языками для виртуальной машины Java. Для освоения дисциплины студентам необходимо иметь знания, полученные в результате изучения дисциплин «Основы и методология программирования», «Язык программирования Java».
Цель освоения дисциплины
Формирование у студентов теоретических знаний и практических навыков работы с различными языками для виртуальной машины Java.
Планируемые результаты обучения
Создает программы на Scala, Groovy, Kotlin.
Использует инструментальные средств для написания обобщенных программ на различных языках для JVM.
Применяет (объектно- ориентированные) функциональные возможности языка Scala. Владеет понятием “синтаксического сахара” в языке программирования и примеры его использования в Scala.
Учитывает в работе особенности совместного использования Scala и Java. Программирует на системе типов Scala.
Применяет базовые возможности языка Kotlin. Выделяет основные области применения и принципы разработки ПО с помощью Kotlin.
Разрабатывает программы и приложения на языках программирования Scala и Kotlin. Формулирует теоретические концепции и корректно использует парадигмы данных языков.
Содержание учебной дисциплины
Раздел 1. Введение. Знакомство с ОО и функциональной парадигмой языка Scala
Раздел 2. Совместное использование Scala и Java, система типов Scala
Раздел 3. Знакомство с языком Kotlin
Раздел 4. Совместное использование Kotlin и Java, построение DSL и корутины в языке Kotlin
Элементы контроля
Домашнее задание
Домашние задания №№1-7 выдаются студентам в одном варианте. Срок выполнения домашнего задания - 2 недели. Каждое домашнее задание должно быть выполнено в виде компилируемого проекта в системе сборки Gradle или SBT, опубликованного в виде ветки на публичном репозитории GitHub. Форма представления обучающимися домашнего задания - представленные в письменном виде решения задач.
Экзамен
В рамках письменного экзамена требуется решить не менее пяти задач. Каждая задача должна быть реализована двумя способами: type level и value level (для проверки корректности).
Промежуточная аттестация
2026/2027 2nd module
Преподаватель учитывает оценку за текущий контроль (домашние задания).
Онакопленная = (Од/з1 + Од/з2 + Од/з3 + Од/з4 + Од/з5 + Од/з6 + Од/з7) / 7
Результирующая оценка за дисциплину рассчитывается следующим образом:
ОРезультирующая = 0,5*Онакопленная + 0,5*Оэкзамен
Список литературы
Рекомендуемая основная литература
Späth, P. (2018). Pro Android with Kotlin : Developing Modern Mobile Apps. New York, NY: Apress. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1886209
Weston, T. (2018). Scala for Java Developers : A Practical Primer. [Berkeley, CA]: Apress. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1658694
Программа дисциплины
Аннотация
Цель освоения дисциплины
Планируемые результаты обучения
Содержание учебной дисциплины
Элементы контроля
Промежуточная аттестация
Список литературы
Рекомендуемая основная литература
Рекомендуемая дополнительная литература
Авторы