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

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

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

Преподаватели


Ямщиков Иван Павлович

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

Аннотация

Является дисциплиной по выбору. Дисциплина направлена на формирование у студентов теоретических знаний и практических навыков, связанных с использованием функциональных языков программирования. Курс знакомит с базовыми понятиями теории категорий, такими как категория, функтор и монада. Студенты научатся понимать коммутативные диаграммы. Для освоения дисциплины студентам необходимо иметь знания из теории множеств, алгебры, топологии.
Цель освоения дисциплины

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

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

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

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