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

Теория категорий

Лучший по критерию «Полезность курса для расширения кругозора и разностороннего развития»
Лучший по критерию «Новизна полученных знаний»
Статус: Курс по выбору (Программирование и анализ данных)
Направление: 01.04.02. Прикладная математика и информатика
Когда читается: 2-й курс, 3 модуль
Формат изучения: без онлайн-курса
Охват аудитории: для всех кампусов НИУ ВШЭ
Преподаватели: Зубаков Алексей Васильевич
Прогр. обучения: Программирование и анализ данных
Язык: русский
Кредиты: 4
Контактные часы: 32

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

Аннотация

It is an elective course. The course is aimed at developing students' theoretical knowledge and practical skills related to the use of functional programming languages. The course introduces the basic concepts of category theory, such as category, functor, and monad. Students will learn to understand commutative diagrams. To master the course, students must have knowledge of set theory, algebra, and topology.
Цель освоения дисциплины

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

  • Формирование у студентов теоретических знаний и практических навыков, связанных с использованием функциональных языков программирования.
Планируемые результаты обучения

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

  • Знает современные идиомы, инструменты и библиотеки, используемые для разработки программного обеспечения на языке 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). — Режим доступа: для авториз. пользователей.

Авторы

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