Магистратура
2021/2022
Теория категорий
Статус:
Курс по выбору (Программирование и анализ данных)
Направление:
01.04.02. Прикладная математика и информатика
Кто читает:
Департамент информатики
Когда читается:
2-й курс, 3 модуль
Формат изучения:
без онлайн-курса
Охват аудитории:
для всех кампусов НИУ ВШЭ
Прогр. обучения:
Программирование и анализ данных
Язык:
русский
Кредиты:
4
Контактные часы:
32
Программа дисциплины
Аннотация
Является дисциплиной по выбору. Дисциплина направлена на формирование у студентов теоретических знаний и практических навыков, связанных с использованием функциональных языков программирования. Курс знакомит с базовыми понятиями теории категорий, такими как категория, функтор и монада. Студенты научатся понимать коммутативные диаграммы. Для освоения дисциплины студентам необходимо иметь знания из теории множеств, алгебры, топологии.
Цель освоения дисциплины
- Формирование у студентов теоретических знаний и практических навыков, связанных с использованием функциональных языков программирования.
Планируемые результаты обучения
- Знает современные идиомы, инструменты и библиотеки, используемые для разработки программного обеспечения на языке Haskell.
- Знает основные механизмы компиляции функциональных языков, ленивых и энергичных, и особенности их среды времени исполнения.
- Умеет реализовывать и оптимизировать программы, разработанные в рамках функциональной парадигмы программирования.
- Имеет навыки использования сопутствующих инструментов разработки – систем сборки и дистрибуции приложений и библиотек, отладчика, оптимизатора, систем документирования и улучшения кода
Содержание учебной дисциплины
- Структуры и интерфейсы
- Раздел 2. Оптимизации и расширения
- Раздел 3. Параллельное программирование
- Раздел 4. Инструменты прикладного программирования на Haskell
Элементы контроля
- Домашнее задание №1Домашнее задание №1 выдается студентам в одном варианте, задачи выдаются обучающимся после каждого практического занятия. Решения задач обучающиеся представляют в виде ответа на вопрос теста или кода на языке Haskell. Сроки предоставления решений составляют две недели с момента получения задания.
- Домашнее задание №2Домашнее задание №2 выдается студентам в одном варианте, задачи выдаются обучающимся после каждого практического занятия. Решения задач обучающиеся представляют в виде ответа на вопрос теста или кода на языке Haskell. Сроки представления решений составляют две недели с момента получения задания.
- Домашнее задание №3Домашнее задание №3 выдается студентам в одном варианте, задачи выдаются обучающимся после каждого практического занятия. Решения задач обучающиеся представляют в виде ответа на вопрос теста или кода на языке Haskell. Сроки представления решений составляют две недели с момента получения задания.
- Домашнее задание №4Домашнее задание №4 выдается студентам в одном варианте, задачи выдаются обучающимся после каждого практического занятия. Решения задач обучающиеся представляют в виде ответа на вопрос теста или кода на языке Haskell. Сроки представления решений составляют две недели с момента получения задания.
- Устный экзаменУстный экзамен проводится в форме ответов на вопросы экзаменационного билета и дополнительные вопросы по материалам курса. Экзаменационный билет содержит два вопроса. На подготовку ответа выделяется 40 минут.
Промежуточная аттестация
- 2021/2022 учебный год 3 модульПреподаватель учитывает оценку за текущий контроль (домашние задания). Онакопленная = (Од/з1 + Од/з2 + Oд/з3 + Од/з4)/4 Результирующая оценка за дисциплину рассчитывается следующим образом: Орезультирующая= 0,5 Онакопленная+0,5 Оэкзамен На экзамене студенту не предоставляется возможность получить дополнительный балл для компенсации оценки за текущий контроль.
Список литературы
Рекомендуемая основная литература
- Бёрд, Р. Жемчужины проектирования алгоритмов: функциональный подход / Р. Бёрд. — Москва : ДМК Пресс, 2013. — 330 с. — ISBN 978-5-94074-867-0. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/9131 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.
- Окасаки, К. Чисто функциональные структуры данных : руководство / К. Окасаки. — Москва : ДМК Пресс, 2016. — 252 с. — ISBN 978-5-97060-233-1. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/90120 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.
Рекомендуемая дополнительная литература
- Курт, У. Программируй на Haskell : руководство / У. Курт ; перевод с английского Я. О. Касюлевича. — Москва : ДМК Пресс, 2019. — 648 с. — ISBN 978-5-97060-694-0. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/123706 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.