• A
  • A
  • A
  • АБB
  • АБB
  • АБB
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта
Бакалавриат 2019/2020

Научно-исследовательский семинар "Декларативное программирование"

Статус: Курс по выбору (Программная инженерия)
Направление: 09.03.04. Программная инженерия
Когда читается: 1-й курс, 1-3 модуль
Формат изучения: без онлайн-курса
Язык: русский
Кредиты: 3

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

Аннотация

Научно-исследовательский семинар "Декларативное программирование" преподается студентам 1 курса образовательной программы «Программная инженерия». Курс направлен на формирование у студентов представлений о различных парадигмах программирования, теоретических знаний в области математических основ декларативного программирования и практических навыков программирования на языке Пролог. Также студенты получат опыт самостоятельной работы с учебной и научной литературой, ведения самостоятельного исследования, представления результатов своей работы на научном семинаре, участия в обсуждениях и дискуссиях.
Цель освоения дисциплины

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

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

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

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

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

  • Парадигмы программирования. Императивное и декларативное программирование.
    Исторический обзор парадигм программирования. Современные парадигмы. Отличия императивного и декларативного программирования, их преимущества и недостатки.
  • Основы логики предикатов.
    Синтаксис и семантика языка логики предикатов. Перевод утверждений с естественного языка на формальный язык логики предикатов.
  • Основы логического вывода.
    Понятие формального доказательства. Пример исчисления высказываний. Аксиомы и правила вывода логики предикатов. Приемы построения строгих доказательств.
  • Метод резолюций.
    Правило резолюции. Построение доказательств методом резолюций. Метод резолюций и автоматическое доказательство теорем.
  • Начальные понятия языка Пролог.
    Работа с интерпретатором SWI Prolog. Факты, предложения и запросы в Прологе.
  • Унификация в языке Пролог.
    Правила унификации термов в языке Пролог. Роль переменных в Прологе. Вывод на основе унификации.
  • Декларативная и процедурная интерпретация логических программ.
    Рекурсивное программирование на Прологе. Процедурная интерпретация рекурсивных программ. Виды рекурсии. Рекурсивные функции и эффективность рекурсивных процессов. Внелогические предикаты в Прологе.
  • Эффективность исполнения логических программ. Понятие отсечения.
    Понятие отсечения. Зеленое и красное отсечение. Управление логическим выводом.
  • Списки в языке Пролог.
    Представление списков в языке Пролог. Работа со списками. Вложенные списки и деревья.
  • Решение задач на Прологе.
    Разбор типичных задач логического программирования: логические задачи, задачи эвристического поиска, работа со списками и деревьями.
  • Презентация и обсуждение докладов.
    Представление студентами решений своих задач на языке Пролог. Обсуждение представленных решений.
Элементы контроля

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

  • неблокирующий Посещаемость и активность (ПА)
  • неблокирующий Доклад (Д)
    Экзамен письменный, без прокторинга. Технические требования: web-камера, микрофон, наушники / колонки
Промежуточная аттестация

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

  • Промежуточная аттестация (3 модуль)
    0.5 * Доклад (Д) + 0.5 * Посещаемость и активность (ПА)
Список литературы

Список литературы

Рекомендуемая основная литература

  • Глухов М. М., Шишков А. Б. - Математическая логика. Дискретные функции. Теория алгоритмов - Издательство "Лань" - 2012 - 416с. - ISBN: 978-5-8114-1344-7 - Текст электронный // ЭБС ЛАНЬ - URL: https://e.lanbook.com/book/4041

Рекомендуемая дополнительная литература

  • Математическая логика : учеб. пособие для вузов, Колмогоров, А. Н., Драгалин, А. Г., 2005