Бакалавриат
2019/2020
Семантики языков программирования
Статус:
Курс по выбору (Прикладная математика и информатика)
Направление:
01.03.02. Прикладная математика и информатика
Кто читает:
Департамент информатики
Когда читается:
3-й курс, 4 модуль
Формат изучения:
без онлайн-курса
Преподаватели:
Подкопаев Антон Викторович
Язык:
русский
Кредиты:
4
Контактные часы:
64
Программа дисциплины
Аннотация
Является дисциплиной по выбору. Семантика языков программирования является базовым предметом для направления "Языки программирования". В круг тем, охватываемых данным предметом, входят подходы к точному описанию семантики языковых конструкций и методам доказательства корректности преобразований программ. В результате освоения дисциплины студент должен: ● знать семантики языков программирования; ● уметь доказывать корректность преобразований программы;● владеть математическим аппаратом и инструментальными средствами, используемым при семантическом анализе программ.
Цель освоения дисциплины
- Целью освоения дисциплины «Семантики языков программирования» является формирование у студентов теоретических знаний и практических навыков анализа и описания языковых конструкций. В круг тем, охватываемых данной дисциплиной, входят подходы к точному описанию семантики языковых конструкций и методам доказательства корректности преобразований программ.
Планируемые результаты обучения
- Знает основные стили семантик языков программирования: денотационный, операционный, аксиоматический; композиционность. Умеет аргументированно описать выбранный стиль и преимущества его использования для конкретной задачи.
- Знает эквивалентность программ и семантик. Знает варианты определений и их взаимоотношения, обоснование свойств преобразований программ. Знает понятие операционной семантики.
- Знает понятие операционной семантики. Умеет получать и анализировать дерево вывода программы. Владеет навыками использования семантики большого и малого шагов.
- Владеет понятием семантика в стиле передачи продолжений — мотивация; свойства; индукция по ―высоте башни. Знает эквивалентность семантике большого шага. Владеет понятием стековая машина, ее операционная семантика.
Содержание учебной дисциплины
- Введение. Стили семантики
- Программы и семантики. Простейший язык выражений и присваиваний
- Конструкции управления, семантика малого шага
- Семантика в стиле передачи продолжений. Стековая машина
Элементы контроля
- Домашнее задание
- Устный экзаменЭкзамен проводится на платформе Zoom. Экзамен проводится в устной форме (опрос по материалам курса). По просьбе преподавателя студент должен быть готов выполнить некоторые задания в письменном виде, после чего сфотографировать и выслать на почту преподавателю. К экзамену необходимо подключиться согласно расписанию, высланному преподавателем на корпоративные почты студентов накануне экзамена. Компьютер студента должен удовлетворять требованиям: наличие рабочей камеры и микрофона, поддержка платформы Zoom. Для участия в экзамене студент обязан: выбрать себе имя в Zoom совпадающее с его именем и фамилией, явиться на экзамен согласно точному расписанию, при ответе включить камеру и микрофон. Во время экзамена студентам запрещается выключать камеру. Ипользование конспектов или других справочных материалов допускается только с разрешения преподавателя. Кратковременным нарушением связи во время экзамена считается нарушение связи менее 5 минут. Долговременным нарушением связи во время экзамена считается нарушение 5 минут и более. При долговременном нарушении связи возможность продолжения студентом участие в экзамене определяется преподавателем. Процедура пересдачи подразумевает использование усложненных заданий
Промежуточная аттестация
- Промежуточная аттестация (4 модуль)0.5 * Домашнее задание + 0.5 * Устный экзамен
Список литературы
Рекомендуемая основная литература
- Draheim, D. (2017). Semantics of the Probabilistic Typed Lambda Calculus : Markov Chain Semantics, Termination Behavior, and Denotational Semantics. Berlin, Germany: Springer. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1479832
Рекомендуемая дополнительная литература
- Bengtsson, G., Säätelä, S., & Pichler, A. (2018). New Essays on Frege : Between Science and Literature. Cham, Switzerland: Springer. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1685759