Магистратура
2022/2023





Теория категорий
Статус:
Курс по выбору (Программирование и анализ данных)
Направление:
01.04.02. Прикладная математика и информатика
Кто читает:
Департамент информатики
Когда читается:
2-й курс, 3 модуль
Формат изучения:
без онлайн-курса
Охват аудитории:
для всех кампусов НИУ ВШЭ
Преподаватели:
Зубаков Алексей Васильевич
Прогр. обучения:
Программирование и анализ данных
Язык:
русский
Кредиты:
4
Контактные часы:
32
Программа дисциплины
Аннотация
Является дисциплиной по выбору. Дисциплина направлена на формирование у студентов теоретических знаний и практических навыков, связанных с использованием функциональных языков программирования. Курс знакомит с базовыми понятиями теории категорий, такими как категория, функтор и монада. Студенты научатся понимать коммутативные диаграммы. Для освоения дисциплины студентам необходимо иметь знания из теории множеств, алгебры, топологии.
Цель освоения дисциплины
- Формирование у студентов теоретических знаний и практических навыков, связанных с использованием функциональных языков программирования.
Планируемые результаты обучения
- Знает современные идиомы, инструменты и библиотеки, используемые для разработки программного обеспечения на языке Haskell.
- Знает основные механизмы компиляции функциональных языков, ленивых и энергичных, и особенности их среды времени исполнения.
- Умеет реализовывать и оптимизировать программы, разработанные в рамках функциональной парадигмы программирования.
- Имеет навыки использования сопутствующих инструментов разработки – систем сборки и дистрибуции приложений и библиотек, отладчика, оптимизатора, систем документирования и улучшения кода
Содержание учебной дисциплины
- Раздел 1. Структуры и интерфейсы
- Раздел 2. Оптимизации и расширения
- Раздел 3. Параллельное программирование
- Раздел 4. Инструменты прикладного программирования на Haskell
Элементы контроля
- Домашнее задание №1Домашнее задание №1 выдается студентам в одном варианте, задачи выдаются обучающимся после каждого практического занятия. Решения задач обучающиеся представляют в виде ответа на вопрос теста или кода на языке Haskell. Сроки представления решений составляют две недели с момента получения задания.
- Домашнее задание №2Домашнее задание №2 выдается студентам в одном варианте, задачи выдаются обучающимся после каждого практического занятия. Решения задач обучающиеся представляют в виде ответа на вопрос теста или кода на языке Haskell. Сроки представления решений составляют две недели с момента получения задания.
- Домашнее задание №3Домашнее задание №3 выдается студентам в одном варианте, задачи выдаются обучающимся после каждого практического занятия. Решения задач обучающиеся представляют в виде ответа на вопрос теста или кода на языке Haskell. Сроки представления решений составляют две недели с момента получения задания.
- Домашнее задание №4Домашнее задание №4 выдается студентам в одном варианте, задачи выдаются обучающимся после каждого практического занятия. Решения задач обучающиеся представляют в виде ответа на вопрос теста или кода на языке Haskell. Сроки представления решений составляют две недели с момента получения задания.
- Устный экзаменУстный экзамен проводится в форме ответов на вопросы экзаменационного билета и дополнительные вопросы по материалам курса. Экзаменационный билет содержит два вопроса. На подготовку ответа выделяется 40 минут.
Промежуточная аттестация
- 2022/2023 учебный год 3 модульПреподаватель учитывает оценку за текущий контроль (домашние задания). Онакопленная = 0.25 * Од/з1 + 0.25 * Од/з2 + 0.25 * Од/з3 + 0.25 * Од/з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). — Режим доступа: для авториз. пользователей.