• A
  • A
  • A
  • АБB
  • АБB
  • АБB
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта
Бакалавриат 2022/2023

Альтернативные языки для JVM

Лучший по критерию «Полезность курса для Вашей будущей карьеры»
Лучший по критерию «Полезность курса для расширения кругозора и разностороннего развития»
Лучший по критерию «Новизна полученных знаний»
Направление: 01.03.02. Прикладная математика и информатика
Когда читается: 3-й курс, 1, 2 модуль
Формат изучения: без онлайн-курса
Охват аудитории: для своего кампуса
Язык: русский
Кредиты: 5
Контактные часы: 30

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

Аннотация

Является дисциплиной по выбору. Дисциплина познакомит студентов с различными языками для виртуальной машины 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 (для проверки корректности).
Промежуточная аттестация

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

  • 2022/2023 учебный год 2 модуль
    Преподаватель учитывает оценку за текущий контроль (домашние задания). Онакопленная = (Од/з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 - 356719 - https://ibooks.ru/bookshelf/356719/reading - iBOOKS

Авторы

  • Кузнецов Антон Михайлович
  • Спицина Кристина Станиславовна