We use cookies in order to improve the quality and usability of the HSE website. More information about the use of cookies is available here, and the regulations on processing personal data can be found here. By continuing to use the site, you hereby confirm that you have been informed of the use of cookies by the HSE website and agree with our rules for processing personal data. You may disable cookies in your browser settings.

  • A
  • A
  • A
  • ABC
  • ABC
  • ABC
  • А
  • А
  • А
  • А
  • А
Regular version of the site

Category Theory

2024/2025
Academic Year
RUS
Instruction in Russian
3
ECTS credits
Delivered at:
Department of Informatics
Course type:
Elective course
When:
2 year, 3 module

Instructor


Safronenko, Evgenii

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

Аннотация

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 минут.
Промежуточная аттестация

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

  • 2024/2025 3rd module
    Преподаватель учитывает оценку за текущий контроль (домашние задания). Онакопленная = 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). — Режим доступа: для авториз. пользователей.

Авторы

  • Москвин Денис Николаевич