Является дисциплиной по выбору. Данная дисциплина направлена на овладение навыками понимания и выведения систем типов различных языков программирования. Для освоения дисциплины студентам необходимы знания, полученные в результате изучения дисциплин «Формальные языки», «Функциональное программирование».
Цель освоения дисциплины
Формирование у студентов теоретических знаний и практических навыков понимания и выведения систем типов различных языков программирования.
Планируемые результаты обучения
Знает способы описания типов в языках программирования.
Умеет выводить типы для конкретного языка.
Имеет опыт применения математического аппарата и инструментальных средств, используемых в описании систем типов.
Содержание учебной дисциплины
Раздел 1. Простые типы
Раздел 2. Подтипы и рекурсивные типы
Раздел 3. Полиморфные типы
Раздел 4. Системы типов высших порядков
Элементы контроля
Домашнее задание
Домашнее задание выдается студентам в одном варианте. Решения задач обучающиеся представляют в виде ответа на вопрос теста или кода на языке Haskell. Сроки представления решений составляют одну неделю с момента получения задания.
Устный экзамен
Устный экзамен проводится в форме ответов на вопросы экзаменационного билета. Экзаменационный билет представляет собой одну тему из перечня вопросов. На подготовку ответа выделяется 2,5 часа.
Промежуточная аттестация
2025/2026 4th module
Преподаватель учитывает оценку за текущий контроль (домашние задания).
Онакопленная = 0,25*Од/з1 + 0,25*Од/з2 + 0,25*Од/з3 + 0,25*Од/з4
Результирующая оценка за дисциплину рассчитывается следующим образом:
ОРезультирующая = 0,5*Онакопленная + 0,5* Оэкзамен
На экзамене студенту не предоставляется возможность получить дополнительный балл для компенсации оценки за текущий контроль.
Список литературы
Рекомендуемая основная литература
Sørensen, M. H., & Urzyczyn, P. (2006). Lectures on the Curry-Howard Isomorphism (Vol. 1st ed). Amsterdam: Elsevier Science. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=196231
Рекомендуемая дополнительная литература
Pierce, B. C. (2002). Types and Programming Languages. Cambridge, Mass: The MIT Press. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=70966
Pierce, B. C. (2005). Advanced Topics in Types and Programming Languages. Cambridge, Mass: The MIT Press. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=138471
Instructor
Moskvin, Denis
Программа дисциплины
Аннотация
Цель освоения дисциплины
Планируемые результаты обучения
Содержание учебной дисциплины
Элементы контроля
Промежуточная аттестация
Список литературы
Рекомендуемая основная литература
Рекомендуемая дополнительная литература
Авторы