Scientific journal
Fundamental research
ISSN 1812-7339
"Перечень" ВАК
ИФ РИНЦ = 1,674

WORKING OUT OF MODELS AND METHODS AUTOMATION OF TRAINING AND CHECKING FACILITY OF STUDENTS USING ARTIFICIAL INTELLIGENCE

Astachova I.F. 1 Pshenichnykh A.A. 1
1 Voronezh state university, Voronezh
The aim is to develop models, methods and algorithms for testing and assessing students for distance education. The subject of the study are models of computer models of automated testing students’ knowledge. The theme or this work associated with the transition to new standards for assessing the knowledge and competence of students. In developing the method we used an artificial intelligence method of virtual organizations (virtual machine method), the methods of translation, objective models. Result is a software which connects together the models, methods and algorithms for assessing students. The software product is used at the Voronezh State University Computer Science course in reading for a course the students can use when reading the other courses in all disciplines for the organization of distance education . Conclusions: Results of computational experiments have shown the promise of software in the learning process, it reduces labor costs and more teachers to objectively evaluate students’ knowledge.
virtual machine
compilation
case- decision of system projection

В последнее время уделяется большое внимание разработке автоматизированных обучающих систем (АОС), позволяющих студенту в интерактивном режиме изучить и закрепить материал, а также проверить свои знания.

АОС - это совокупность связанных в единое целое технических, программно-алгоритмических, лингвистических и информационно-методических средств, предназначенных для автоматизации обучающего диалога, поиска и обработки учебной информации и подведения итогов обучения [2].

Программное обеспечение АОС выступает по отношению к ОС как пакет прикладных программ. В составе программного обеспечения АОС выделяют системное программное обеспечение (СПО) и предметное обеспечение.

В настоящее время отсутствует единая автоматизированная обучающая система по языку программирования Паскаль по многим компонентам: компилятора с виртуальной машиной; визуализатора, отображающего на экране работу со всеми структурами данных; практического раздела, состоящего из удобной среды для разработки программ; теоретического раздела; справочного раздела; экзаменационного раздела, в рамках которого раздел теории не доступен пользователю, сдающему экзамен; статистического раздела; приложения для работы с базой данных, которая содержит информацию о заданиях, пользователях студентах и преподавателях [1].

Цель работы состоит в разработке моделей и методов автоматизации обучения и контроля по алгоритмизации и программированию на языке Pascal, которые реализует тестирование знаний учащихся, хранение и представление информации о заданиях, студентах и преподавателях и позволяет пошагово выполнять команды языка программирования Паскаль. Разрабатываемая система состоит из [3-4]:

  • компилятора языка Turbo Pascal 7.0 с виртуальной машиной;
  • визуализатора, отображающего на экране работу со всеми структурами данных;
  • практического раздела, состоящего из удобной среды для разработки программ;

теоретического раздела:

  • теоретического материала по курсу программирования на языке Pascal;
  • демонстрационных примеров к каждому разделу, которые можно выполнять во встроенном визуализаторе, добавлять, удалять и редактировать из справочного раздела:
  • справочной информации о синтаксисе языка Pascal;
  • стандартных процедур и функций языка Pascal;
  • сообщений об ошибках (компиляции, времени выполнения и.т.д.);
  • экзаменационного раздела, в рамках которого раздел теории не доступен пользователю, сдающему экзамен:
  • тестов для проверки усвоенного материала;
  • заданий для проведения экзамена в рамках АОС, которые можно добавлять, удалять и редактировать;

статистического раздела:

  • отчеты о работе для студента;
  • отчеты о работе своих студентов для преподавателя;
  • создание контрольно-измерительных материалов;
  • раздела помощи в работе с АОС;
  • приложения для работы с базой данных, которая содержит информацию о заданиях, пользователях студентах и преподавателях.

Отличительные особенности курса:

  • наличие компилятора, специально написанного для этой АОС, который выдает сообщения для визуализатора;
  • визуализация процесса выполнения программы, созданной студентом;

возможность в процессе работы:

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

pic

Рис. 1. Диаграмма вариантов использования системы

В системе «Паскаль» предусмотрена возможность исполнения программ по шагам, написанных на языке Pascal, визуализация выполнения каждого шага. Под визуализацией выполнения программы понимается возможность отображения состояния программы в любой момент времени ее выполнения, отображения созданных программой структур данных, а также динамическое изменение отображаемой информации в зависимости от текущего состояния программы.

Для реализации этих требований необходимо разработать свой компилятор языка Pascal и средства для выполнения программ. Таким средством оказалась виртуальная машина. Проектируемая виртуальная машина должна выполнять программы и иметь средства для просмотра и анализа текущего состояния выполняемой на ней программы, т.е. состояния памяти, сведений об открытых файлах и т.д.

Таким образом, задача разбивается на две:

1) создать виртуальную машину, удовлетворяющую указанным требованиям;

2) создать компилятор языка Pascal в код виртуальной машины.

Средством реализации выбрана среда программирования Delphi 7 с использованием СУБД Interbase 6.5 и генератор отчетов Rave Reports 5.0. Для разработки программного комплекса АОС Паскаль были использованы сторонние компоненты, такие как Development Express и EurikaLog 5.1.11 [5].

pic

Рис. 2. Общая схема взаимодействия функциональных блоков

Программный комплекс разработан как многопоточное приложение. Многопоточность позволяет параллельно выполнять отдельные участки программ на ЭВМ с несколькими процессорами, или выполнять их на одном процессоре «псевдопараллельно», использую механизм вытесняющей многозадачности Windows. Эта функциональность позволяет пользователю работать с системой АОС Паскаль параллельно процессу компиляции и визуализации и решает проблему «замирания» пользовательского интерфейса. Например, пользователь может остановить процесс визуализации не дожидаясь его окончания, открыть справочную информацию о языке программирования Паскаль или встроенную в систему справку о комплексе «АОС Паскаль» параллельно обработке написанной или взятой из примеров программы.

Компилятор может быть условно разделен на три основные части:

  • лексический анализатор;
  • синтаксический и семантический анализатор;
  • генератор кода.

Лексический анализатор обеспечивает представление входной программы на языке Pascal в виде последовательности лексем. Синтаксический и семантический анализатор проверяет корректности входной программы с точки зрения правил языка Pascal. Генератор кода создает выходную программу в виде исполняемого файла для виртуальной машины. Структура классов представлена на рис. 4.

478

Рис. 3. Блок-схема работы визуализатора

479

Рис. 4. Структура классов для реализации компилятора

Выводы

1. Разработан компилятор в «АОС Паскаль».

2. Разработана виртуальная машина, как основной метод организации компилятора.

Рецензенты:

Сербулов Ю.С., д.т.н., профессор, проректор по научной работе, зав. кафедрой информационных систем Воронежского института высоких технологий, г. Воронеж;

Ряжских В.И., д.т.н., профессор, зав. кафедрой высшей математики Воронежской государственной технологической академии, г. Воронеж.

Работа поступила в редакцию 31.05.2011.