Бакалавриат
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 module0.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 * Экзамен