• A
  • A
  • A
  • ABC
  • ABC
  • ABC
  • А
  • А
  • А
  • А
  • А
Regular version of the site

Types and Programming Languages

2022/2023
Academic Year
RUS
Instruction in Russian
5
ECTS credits
Delivered at:
Department of Informatics
Course type:
Elective course
When:
3 year, 3, 4 module

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

Аннотация

Является дисциплиной по выбору. Данная дисциплина направлена на овладение навыками понимания и выведения систем типов различных языков программирования. Для освоения дисциплины студентам необходимы знания, полученные в результате изучения дисциплин «Формальные языки», «Функциональное программирование».
Цель освоения дисциплины

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

  • Формирование у студентов теоретических знаний и практических навыков понимания и выведения систем типов различных языков программирования.
Планируемые результаты обучения

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

  • Знает способы описания типов в языках программирования.
  • Умеет выводить типы для конкретного языка.
  • Имеет опыт применения математического аппарата и инструментальных средств, используемых в описании систем типов.
Содержание учебной дисциплины

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

  • Раздел 1. Простые типы
  • Раздел 2. Подтипы и рекурсивные типы
  • Раздел 3. Полиморфные типы
  • Раздел 4. Системы типов высших порядков
Элементы контроля

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

  • неблокирующий Домашнее задание
    Домашнее задание выдается студентам в одном варианте. Решения задач обучающиеся представляют в виде ответа на вопрос теста или кода на языке Haskell. Сроки представления решений составляют одну неделю с момента получения задания.
  • блокирующий Устный экзамен
    Устный экзамен проводится в форме ответов на вопросы экзаменационного билета. Экзаменационный билет представляет собой одну тему из перечня вопросов. На подготовку ответа выделяется 2,5 часа.
Промежуточная аттестация

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

  • 2022/2023 учебный год 4 модуль
    Преподаватель учитывает оценку за текущий контроль (домашние задания). Онакопленная = 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

Авторы

  • Кузнецов Антон Михайлович
  • Спицина Кристина Станиславовна