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

Типы в языках программирования

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

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

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

Аннотация

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

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

  • Целями освоения дисциплины «Типы в языках программирования» являются формирование у студентов теоретических знаний и практических навыков понимания и выведения систем типов различных языков программирования.
Результаты освоения дисциплины

Результаты освоения дисциплины

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

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

  • Простые типы
  • Подтипы и рекурсивные типы
  • Полиморфные типы
  • Системы типов высших порядков
Элементы контроля

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

  • неблокирующий Created with Sketch. Домашнее задание 1
  • неблокирующий Created with Sketch. Домашнее задание 2
  • неблокирующий Created with Sketch. Домашнее задание 3
  • неблокирующий Created with Sketch. Домашнее задание 4
  • блокирующий Created with Sketch. Устный экзамен
Промежуточная аттестация

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

  • Промежуточная аттестация (3 модуль)
    0.125 * Домашнее задание 1 + 0.125 * Домашнее задание 2 + 0.125 * Домашнее задание 3 + 0.125 * Домашнее задание 4 + 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. (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