Является дисциплиной по выбору. Дисциплина познакомит студентов с различными языками для виртуальной машины Java. Для освоения дисциплины студентам необходимо иметь знания, полученные в результате изучения дисциплин «Основы и методология программирования», «Язык программирования Java».
Цель освоения дисциплины
Формирование у студентов теоретических знаний и практических навыков работы с различными языками для виртуальной машины Java.
Планируемые результаты обучения
Знает различные языки для JVM.
Умеет создавать программы на Scala, Groovy, Kotlin.
Имеет навыки использования инструментальных средств для написания обобщенных программ на различных языках для JVM.
Содержание учебной дисциплины
Раздел 1. Введение. Знакомство с ОО и функциональной парадигмой языка Scala
Раздел 2. Совместное использование Scala и Java, система типов Scala
Раздел 3. Знакомство с языком Kotlin
Раздел 4. Совместное использование Kotlin и Java, построение DSL и корутины в языке Kotlin
Элементы контроля
Экзамен
В рамках письменного экзамена требуется решить не менее пяти задач. Каждая задача должна быть реализована двумя способами: type level и value level (для проверки корректности).
Домашнее задание
Домашние задания №№1-7 выдаются студентам в одном варианте. Срок выполнения домашнего задания - 2 недели. Каждое домашнее задание должно быть выполнено в виде компилируемого проекта в системе сборки Gradle или SBT, опубликованного в виде ветки на публичном репозитории GitHub. Форма представления обучающимися домашнего задания - представленные в письменном виде решения задач.
Промежуточная аттестация
2025/2026 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
Преподаватель
Резник Сергей Александрович
Программа дисциплины
Аннотация
Цель освоения дисциплины
Планируемые результаты обучения
Содержание учебной дисциплины
Элементы контроля
Промежуточная аттестация
Список литературы
Рекомендуемая основная литература
Рекомендуемая дополнительная литература
Авторы