We use cookies in order to improve the quality and usability of the HSE website. More information about the use of cookies is available here, and the regulations on processing personal data can be found here. By continuing to use the site, you hereby confirm that you have been informed of the use of cookies by the HSE website and agree with our rules for processing personal data. You may disable cookies in your browser settings.

  • A
  • A
  • A
  • ABC
  • ABC
  • ABC
  • А
  • А
  • А
  • А
  • А
Regular version of the site

Alternative Languages for the JVM

2024/2025
Academic Year
RUS
Instruction in Russian
5
ECTS credits
Delivered at:
Department of Informatics
Course type:
Elective course
When:
3 year, 1, 2 module

Instructor


Резник Сергей Александрович

Программа дисциплины

Аннотация

Является дисциплиной по выбору. Дисциплина познакомит студентов с различными языками для виртуальной машины Java. Для освоения дисциплины студентам необходимо иметь знания, полученные в результате изучения дисциплин «Основы и методология программирования», «Язык программирования Java».
Цель освоения дисциплины

Цель освоения дисциплины

  • Формирование у студентов теоретических знаний и практических навыков работы с различными языками для виртуальной машины Java.
Планируемые результаты обучения

Планируемые результаты обучения

  • Знает различные языки для JVM.
  • Умеет создавать программы на Scala, Groovy, Kotlin.
  • Имеет навыки использования инструментальных средств для написания обобщенных программ на различных языках для JVM.
Содержание учебной дисциплины

Содержание учебной дисциплины

  • Раздел 1. Введение. Знакомство с ОО и функциональной парадигмой языка Scala
  • Раздел 2. Совместное использование Scala и Java, система типов Scala
  • Раздел 3. Знакомство с языком Kotlin
  • Раздел 4. Совместное использование Kotlin и Java, построение DSL и корутины в языке Kotlin
Элементы контроля

Элементы контроля

  • неблокирующий Домашнее задание
    Домашние задания №№1-7 выдаются студентам в одном варианте. Срок выполнения домашнего задания - 2 недели. Каждое домашнее задание должно быть выполнено в виде компилируемого проекта в системе сборки Gradle или SBT, опубликованного в виде ветки на публичном репозитории GitHub. Форма представления обучающимися домашнего задания - представленные в письменном виде решения задач.
  • блокирующий Экзамен
    В рамках письменного экзамена требуется решить не менее пяти задач. Каждая задача должна быть реализована двумя способами: type level и value level (для проверки корректности).
Промежуточная аттестация

Промежуточная аттестация

  • 2024/2025 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

Рекомендуемая дополнительная литература

  • Scala. Профессиональное программирование - 978-5-496-02951-3 - Одерски Мартин, Спун Лекс, Веннерс Билл - 2018 - Санкт-Петербург: Питер - https://ibooks.ru/bookshelf/356719 - 356719 - iBOOKS

Авторы

  • Юдаева Оксана Юрьевна
  • Кузнецов Антон Михайлович