Логическое программирование
Аннотация
Логическое программирование, так же как и родственное ему направление – функциональное программирование, радикально отклоняется от основного пути развития языков программирования. Логическое программирование базируется на убеждении, что не человека следует обучать мышлению в терминах операций компьютера, а компьютер должен выполнять инструкции, свойственные человеку.О курсе
Курс посвящен
Дисциплина «Логическое программирование» необходима для формирования у студентов общекультурных и профессиональных компетенций, знаний, умений и навыков владения современными методами разработки и программной реализации моделей для трудноформализуемых и неформализуемых задач.
Цели курса
формирование у будущих бакалавров практических навыков разработки и программной реализации логических моделей для решения конкретных прикладных задач.
Результаты обучения
Знания, умения и навыки, полученные студентом в процессе изучения курса «Логическое программирование», в том числе необходимы в дальнейшем для изучения в курсах «Теория вычислительных процессов», «Системы искусственного интеллекта», «Нейрокомпьютерные системы».
Формат курса
Состав курса
Каждый раздел курса: – содержит теоретико-познавательный модуль, обеспеченный логически законченной частью учебной информации; – имеет тренингово-практический модуль (лабораторные, задачи и т.п.); – заканчивается контрольным модулем. В каждом разделе (за исключением редких, чисто описательных) четко сформулированы цель и постановка задачи, а также конфликтность ситуации, суть возникших проблем (зачем это нужно? почему это не было сделано ранее на основе старого аппарата?) и механизм разрешения этой конфликтности. Разделы курса выстроены в логическую цепочку по принципу «от простого – к сложному». Структура модулей каждого раздела соответствует иерархической структуре «абстрактное - конкретное».
Расписание курса
Модуль 1 : Введение в логическое программирование.
Сравнительная характеристика методов структурного, функционального и логического программирования
- Введение в ЛП(Видеолекция)
- Введение(Домашнее задание)
- Опорный конспект 1(Домашнее задание)
- Знакомство с Visual Prolog(Лабораторная работа)
- Цифровой гражданин(Рубежный тест)
Модуль 2 : Основные структуры, методы и приемы программирования на языке Пролог.
Общие сведения о логическом программировании. Основные структуры языка Пролог.
- Краткий конспект(Домашнее задание)
- Опорный конспект 2(Домашнее задание)
Секционированность программ. Основные секции
- Структуры языка и секционированность программ(Видеолекция)
- Краткий конспект(Домашнее задание)
- Секционированность программ(Лабораторная работа)
Основные способы создания оконного интерфейса. Основы дизайна программного обеспечения
- Основы дизайна ПО(Традиционная лекция)
Составные объекты. Списки. Бинарные деревья. Операции со списками и бинарными деревьями.
- Списки и бинарные деревья(Видеолекция)
- Краткий конспект(Домашнее задание)
- Списки(Домашнее задание)
- Списки и бинарные деревья(Лабораторная работа)
- Дополнительный материал (Дополнительный материал)
Рекурсивная обработка данных. Восходящая и нисходящая рекурсии
- Рекурсия(Традиционная лекция)
- Рекурсия. Краткий конспект(Домашнее задание)
- Мини-тест(Рубежный тест)
Отсечение: красные и зеленые отсечения. Отрицание.
- Краткий конспект(Домашнее задание)
Металогические и внелогические предикаты. Циклы, виды циклов.
- Циклы(Традиционная лекция)
- Циклы(Лабораторная работа)
- Опорный конспект(Домашнее задание)
Модуль 3 : Модели и методы решения трудно формализуемых задач.
Элементарные экспертные системы
- Краткий конспект(Домашнее задание)
- Элементарные экспертные системы(Лабораторная работа)
Графы, деревья, поиск пути на графе пространства состояний
- "Слепые методы" поиска решений на графе пространства состояний(Расчетно-графическая работа)
Модуль 4 : Дополнительный материал.
Контрольная работа
- Все о логическом программировании(Контрольная работа)
Дополнительные материалы
- Visual Prolog (Portable) - без помощи (Дополнительный материал)
- Курс на будущее (Дополнительный материал)
- Пособия (Дополнительный материал)
- Электронный обучающий курс (Дополнительный материал)
Информационные ресурсы
Основная литература
-
- Рублев В.С. Языки логического программирования [Электронный ресурс] / В.С. Рублев. - 2-е изд. - Электрон. текстовые данные. - М. : Интернет-Университет Информационных Технологий (ИНТУИТ), 2016. - 125 c. - 2227-8397. - Режим доступа: http://www.iprbookshop.ru/73741.html
- Ефимова Е.А. Основы программирования на языке Visual Prolog [Электронный ресурс] / Е.А. Ефимова. - 3-е изд. - Электрон. текстовые данные. - М. : Интернет-Университет Информационных Технологий (ИНТУИТ), Ай Пи Эр Медиа, 2019. - 265 c. - 978-5-4486-0517-8. - Режим доступа: http://www.iprbookshop.ru/79710.html
- Теория и практика логического программирования на языке Visual Prolog 7: Учебное пособие для вузов / Цуканова Н.И., Дмитриева Т.А. - М.: Гор. линия-Телеком, 2013. - 232 с.: 60x90 1/16. - (Учебное пособие для высших учебных заведений) ISBN 978-5-9912-0194-0 - Режим доступа: http://znanium.com/catalog/product/414543
- Козырева Г.Ф. Функциональное и логическое программирование [Электронный ресурс]: учебно-методическое пособие / Г.Ф. Козырева. - Электрон. текстовые данные. - Саратов: Ай Пи Эр Медиа, 2018. - 120 c. - 978-5-4486-0122-4. - Режим доступа: http://www.iprbookshop.ru/71596.html
Дополнительная литература
- Кузнецов, А. С. Теория вычислительных процессов [Электронный ресурс] /Кузнецов А.С., Царев Р.Ю., Князьков А.Н. - Краснояр. : СФУ, 2015. - 184 с. // ZNANIUM.COM : электронно-библиотечная система. - Режим доступа: http://znanium.com/catalog.php, ограниченный. - Загл. с экрана.
- Ездаков, А.Л. Функциональное и логическое программирование: Учебное пособие / А. Л. Ездаков. - 2-е изд. - М.: Интернет-Университет Информационных Технологий; Бином. Лаборатория знаний, 2016. - 120с.
- Новиков П.В. Логическое программирование [Электронный ресурс]: учебно-методическое пособие к лабораторным работам / П.В. Новиков. - Электрон. текстовые данные. - Саратов: Вузовское образование, 2017. - 103 c. - 978-5-4487-0010-1. - Режим доступа: http://www.iprbookshop.ru/66314.html
Дополнительный инструментарий
- Среда разработки Visual Prolog 5.2 (ссылка для свободного скачивания http://www.softslot.com/software-2136-visual-prolog-windows.html либо Visual Prolog 5.2 Portable (дополнительные материалы курса);
- Операционная система Microsoft® Windows Professional 7 Russian и выше
- Текстовый редактор OpenOffice (ссылка для свободного скачивания (https://www.openoffice.org/ru/download/index.html);
- браузер Google Chrome или Internet Explorer.
Оценивание и документы
Правила Формирования оценки
№ |
Наименование оценочного средства |
Шкала оценивания |
1 |
Лабораторная работа (5 работ) |
10 баллов |
2 |
Опорный конспект (2 конспекта) |
5 баллов |
3 |
Краткий конспект лекции (8 конспектов) |
2 балла |
4 |
Мини-тест |
4 балла |
5 |
Контрольная работа |
50 баллов |
6 |
Расчетно-графическая работа |
20 баллов |
Система оценивания
Максимальное количество баллов за курс - 156. Студент должен предоставить ВСЕ работы, необходимые при изучении курса.
0 – 50 % от максимально возможной суммы баллов – «неудовлетворительно»
51 – 64 % от максимально возможной суммы баллов – «удовлетворительно»
65 – 80 % от максимально возможной суммы баллов – «хорошо»
81 – 100 % от максимально возможной суммы баллов – «отлично»
Направления подготовки
- 09.03.01 Информатика и вычислительная техника
- 09.03.02 Информационные системы и технологии