(c) Larry Ewing, Simon Budig, Garrett LeSage
с 1994 г.

Кафедра Информатики и Математического Обеспечения

ПетрГУ | ИМиИТ | О кафедре | Проекты | Лаборатория ИТС | Семинары НФИ/AMICT
Сотрудники | Учебный процесс | Табель-календарь | Курсовые и выпускные работы
Вычислительные ресурсы | Публикации | Архив новостей | Контактная информация (English)

Разработка адаптивной среды для изучения языка Пролог

Вернуться к списку проектовНа главную страницу курса

Заказчик

Будникова Наталья Алексеевна, доцент, к.ф.-м.н., кафедра Информатики и математического обеспечения. Эл.почта: budniko@cs.karelia.ru. Раб.тел.: 711015. 215 каб.

Инструктор

Синицын Михаил, кафедра прикладной математики и кибернетики. Эл. почта: mishas@onego.ru. Раб. тел.: 572140.

Аннотация проекта

Вводный курс по Прологу является важным для студентов-математиков, поскольку обучает стилю программирования, отличному от алгоритмического. Пролог основан на описательной, или декларативной точке зрения на программирование. Описание задачи является статическим и никакого вычислительного процесса не задает. Дедуктивный вывод решения задачи обеспечивается встроенными средствами языка.
Эти свойства Пролога коренным образом меняют программистское мышление и требует от обучаемых определённых интеллектуальных усилий. Пролог заставляет программиста давать определение ситуаций и формулировать задачи, вместо того, чтобы во всех деталях описывать способ решения этих задач, при этом используются языковые конструкции очень высокого уровня. Декларативный характер языка требует от автора умения составить формальное описание ситуации, пользуясь понятиями объектов различных типов и отношений между ними. Следует отметить ряд методических трудностей при изучении этого языка. Пролог не имеет хорошо знакомых "алгоритмическим программистам" конструкций типа FOR, WHILE, IF THEN; нет даже оператора присваивания, нет в языке указателей. Основными операциями являются сопоставление и унификация.

Первичные требования

Основных вычислительных механизмов в Прологе не так много и следует охватить изучением следующие основные опорные разделы Пролога:
  1. Описание объектов и отношений предметной области в виде наборов фактов и правил и встроенный механизм вывода с поиском и возвратом, реализующий дедуктивный вывод.
  2. Работа со списками и изучение программирования рекурсивных алгоритмов. Рекурсия является одним из основных способов организации вычислительного процесса в Прологе, а рекурсивные алгоритмы - достаточно нетривиальными.
  3. Возможности организации различных фрагментов информации в единые логические единицы и создание сложных структур данных. Решение на базе таких структур игровых и логических задач.
  4. Единообразное представление программ и данных и механизм динамической базы данных, реализующей этот принцип.
Задача заключается в создании программного продукта, представляющего фрагмент адаптивного учебного ресурса, реализующий главным образом объёмный комплекс упражнений по каждому разделу, который можно будет использовать в качестве части обучающего курса по изучению языка Пролог. Под адаптивностью в данном случае имеется ввиду система подсказок, разъяснений, поощрений при выполнении упражнений.
Требование доступности для широкого круга пользователей должно быть обеспечено благодаря современным информационным технологиям и возможностям сети Интернет.