We use cookies in order to improve the quality and usability of the HSE website. More information about the use of cookies is available here, and the regulations on processing personal data can be found here. By continuing to use the site, you hereby confirm that you have been informed of the use of cookies by the HSE website and agree with our rules for processing personal data. You may disable cookies in your browser settings.

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

Types and Programming Languages

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

Instructor

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

Аннотация

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

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

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

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

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

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

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

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

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

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

  • 2024/2025 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

Авторы

  • Москвин Денис Николаевич