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

Функциональное программирование

2023/2024
Учебный год
RUS
Обучение ведется на русском языке
6
Кредиты

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

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

Аннотация

В рамках курса будут исследованы возможности языков программирования, которые облегчают создание надежных программ. Будут рассмотрены основные аспекты языка функционального программирования Idris и его библиотек, в том числе относящиеся к тестированию и формальным доказательствам. Часть рассмотренных тем применима и к языку функционального программирования Haskell.
Цель освоения дисциплины

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

  • Знакомство с основными понятиями функционального программирования
  • Знакомство с основными возможностями языка функционального программирования с зависимыми типами Idris
  • Знакомство с подходами к повышению качества программного обеспечения в функциональном программировании
Планируемые результаты обучения

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

  • Готовая к использованию на компьютере студента среда разработки программ на языке Idris.
  • Понимание мотивации выбора инструментов разработки для решения конкретной задачи.
  • Знакомство с формализацией понятий предметной области как типов языка Idris
  • Знакомство с основным способом обработки данных в языке Idris.
  • Знакомство с обобщенным программированием
  • Знакомство с типами стандартной библиотеки языка Idris
  • Знакомство со способом задания свойств типа
  • Знакомство с интерфейсами стандартной библиотеки языка Idris
  • Знакомство с видами эффектов.
  • Введение в зависимые типы
  • Знакомство с возможностями по созданию тестов
  • Знакомство с использованием Idris как системы формальной верификации
Содержание учебной дисциплины

Содержание учебной дисциплины

  • Введение в функциональное программирование
  • Инструменты разработчика Idris
  • Алгебраические типы данных
  • Функции
  • Полиморфизм
  • Стандартные типы данных
  • Интерфейсы
  • Стандартные интерфейсы
  • Эффекты
  • Зависимые типы
  • Тестирование
  • Доказательства
Элементы контроля

Элементы контроля

  • неблокирующий ДЗ_3,4,5,7,9,10,11,12
    8 ДЗ
  • неблокирующий Экз
Промежуточная аттестация

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

  • 2023/2024 учебный год 2 модуль
    Final = 0.1*ДЗ_3+0.1*ДЗ_4+0.1*ДЗ_5+0.1*ДЗ_7+0.1*ДЗ_9+0.1*ДЗ_10 +0.2*КР_11+0.3*КР_12+0,15*Экз
Список литературы

Список литературы

Рекомендуемая основная литература

  • Функциональное программирование : учебник и практикум для академического бакалавриата, Кубенский, А. А., 2017

Рекомендуемая дополнительная литература

  • Функциональное программирование, Филд, А., 1993