Аспирантура
2023/2024
Типы в языках программирования
Статус:
Курс по выбору
Направление:
00.00.00. Аспирантура
Кто читает:
Департамент информатики
Когда читается:
2-й курс, 1 семестр
Формат изучения:
без онлайн-курса
Охват аудитории:
для своего кампуса
Преподаватели:
Москвин Денис Николаевич
Язык:
русский
Кредиты:
2
Контактные часы:
36
Программа дисциплины
Аннотация
Является дисциплиной по выбору. Данная дисциплина направлена на овладение навыками понимания и выведения систем типов различных языков программирования. Для освоения дисциплины студентам необходимы знания, полученные в результате изучения дисциплин «Формальные языки», «Функциональное программирование».
Цель освоения дисциплины
- Формирование у студентов теоретических знаний и практических навыков понимания и выведения систем типов различных языков программирования.
Планируемые результаты обучения
- Знает способы описания типов в языках программирования.
- Умеет выводить типы для конкретного языка.
- Имеет опыт применения математического аппарата и инструментальных средств, используемых в описании систем типов.
Содержание учебной дисциплины
- Раздел 1. Простые типы
- Раздел 2. Подтипы и рекурсивные типы
- Раздел 3. Полиморфные типы
- Раздел 4. Системы типов высших порядков
Элементы контроля
- Домашнее заданиеДомашнее задание выдается студентам в одном варианте. Решения задач обучающиеся представляют в виде ответа на вопрос теста или кода на языке Haskell. Сроки представления решений составляют одну неделю с момента получения задания.
- ЭкзаменУстный экзамен проводится в форме ответов на вопросы экзаменационного билета. Экзаменационный билет представляет собой одну тему из перечня вопросов. На подготовку ответа выделяется 2,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