Бакалавриат
2021/2022
Функциональное программирование
Лучший по критерию «Полезность курса для расширения кругозора и разностороннего развития»
Лучший по критерию «Новизна полученных знаний»
Статус:
Курс обязательный (Прикладная математика и информатика)
Направление:
01.03.02. Прикладная математика и информатика
Кто читает:
Департамент информатики
Когда читается:
2-й курс, 1, 2 модуль
Формат изучения:
с онлайн-курсом
Онлайн-часы:
60
Охват аудитории:
для всех кампусов НИУ ВШЭ
Преподаватели:
Жаворонков Эдгар Андреевич,
Кайсин Илья Сергеевич,
Москвин Денис Николаевич,
Подкопаев Антон Викторович
Язык:
русский
Кредиты:
3
Контактные часы:
26
Программа дисциплины
Аннотация
Курс позволяет раскрыть основы функционального и логического программирования, структуры языков, его синтаксис и семантические конструкции, основные тенденции развития функционального программирования в рамках проектирования современных автоматизированных систем, решений, выполненных при использовании функциональных и логических языков программирования. Также раскрываются основные принципы формирования проектных решений для решения задач искусственного интеллекта. Для освоения дисциплины студентам необходимы знания основ программирования и алгебры.
Цель освоения дисциплины
- Формирование у студентов теоретических знаний и практических навыков программирования на функциональных языках
Планируемые результаты обучения
- Знает понятия и теоретические основы лямбда-исчисления, комбинаторов, чисел Черча, систем типов, монад.
- Умеет использовать лямбда-исчисление как язык программирования, программировать на языке Haskell, кодировать рекурсивные функции на Haskell, использовать аппликативные функторы и свертки, программировать с помощью стандартных монад, производить оптимизации с помощью правил переписывания в GHC.
- Имеет навыки применения различных методов программирования в функциональном стиле и разработки эффективных программ на языке Haskell.
Содержание учебной дисциплины
- Основы функционального программирования: лямбда-исчисление и комбинаторная логика
- Язык программирования Haskell: синтаксис, семантика, стандартная библиотека
- Управление эффектами с помощью аппликативных функторов и монад
- Системы типов функциональных языков
Промежуточная аттестация
- 2021/2022 учебный год 2 модуль0.18 * Контрольная работа №1 + 0.5 * Экзамен + 0.16 * Домашнее задание №2 + 0.16 * Домашнее задание №1