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

Язык программирования Scala

Направление: 01.03.02. Прикладная математика и информатика
Когда читается: 4-й курс, 1, 2 модуль
Формат изучения: без онлайн-курса
Охват аудитории: для своего кампуса
Преподаватели: Лягаев Иван Сергеевич, Финоченко Иван Андреевич
Язык: русский
Кредиты: 5
Контактные часы: 56

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

Аннотация

Курс нацелен на изучение языка программирования Scala и парадигмы функционального программирования
Цель освоения дисциплины

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

  • Использовать функциональные практики для моделирования данных
  • Уметь писать код на языке программирования Scala
  • Использовать функциональные практики для работы с ошибками
  • Понимать и использовать концепты функционального программирования: чистые и тотальные функции, неизменяемые данные, рекурсии
Планируемые результаты обучения

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

  • Разрабатывать backend приложения с полным использованием функциональной парадигмы
  • Писать многопоточные программы с использованием функциональной парадигмы
Содержание учебной дисциплины

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

  • Основы языка - Часть 1
  • Основы языка - Часть 2
  • Система Типов
  • Параметры Типов
  • Коллекции
  • Неявные параметры
  • Функциональное программирование - Часть 1
  • Функциональное программирование - Часть 2
  • IO Монада
  • Многопоточность JVM и Scala
  • Системы эффектов - Часть 1
  • Системы эффектов - Часть 2
  • Tagless Final
  • Функциональное программирование - Дополнение
Элементы контроля

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

  • неблокирующий Домашнее задание 1
    Задачи по теме: Основы Языка - Часть 1
  • неблокирующий Домашнее задание 2
    Задачи по теме: Основы Языка - Часть 2
  • неблокирующий Домашнее задание 3
    Задачи по теме: Система Типов
  • неблокирующий Домашнее задание 4
  • неблокирующий Домашнее задание 5
  • неблокирующий Домашнее задание 6
  • неблокирующий Домашнее задание 7
  • неблокирующий Домашнее задание 8
  • неблокирующий Домашнее задание 9
  • неблокирующий Домашнее задание 10
  • неблокирующий Контрольная работа
    Онлайн тест с множественным выбором на знания первых 6 недель
  • неблокирующий Экзамен
    Онлайн письменный экзамен с 2 практическими задачами и 1 теоретическим заданием по всем темам
  • неблокирующий Проект
    Индивидуальные проект на свободную тему. Необходимо реализовать приложение с сетевым взаимодействием.
Промежуточная аттестация

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

  • 2023/2024 2nd module
    0.02 * Домашнее задание 1 + 0.02 * Домашнее задание 10 + 0.02 * Домашнее задание 2 + 0.02 * Домашнее задание 3 + 0.02 * Домашнее задание 4 + 0.02 * Домашнее задание 5 + 0.02 * Домашнее задание 6 + 0.02 * Домашнее задание 7 + 0.02 * Домашнее задание 8 + 0.02 * Домашнее задание 9 + 0.15 * Контрольная работа + 0.4 * Проект + 0.25 * Экзамен
Список литературы

Список литературы

Рекомендуемая основная литература

  • Object-orientation, abstraction, and data structures using Scala, Lewis, M. C., 2017

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

  • Scala для нетерпеливых, Хорстманн, К. С., 2017