• A
  • A
  • A
  • АБВ
  • АБВ
  • АБВ
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта

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

2024/2025
Учебный год
RUS
Обучение ведется на русском языке
3
Кредиты
Статус:
Курс по выбору
Когда читается:
2-й курс, 3 модуль

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

Аннотация

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). — Режим доступа: для авториз. пользователей.

Авторы

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