ПРИКАСПИЙСКИЙ ЖУРНАЛ
УПРАВЛЕНИЕ И ВЫСОКИЕ ТЕХНОЛОГИИ
Способы проверки решений заданий по программированию в обучающих системах
Читать | Катаев Александр Вадимович, Шабалина Ольга Аркадьевна, Камаев Валерий Анатольевич Способы проверки решений заданий по программированию в обучающих системах // Прикаспийский журнал: управление и высокие технологии. — 2011. — №3. — Стр. 19-25. |
Катаев Александр Вадимович - ассистент, Волгоградский государственный технический университет, 400131, Россия, г. Волгоград, пр. Ленина, 28, alexander.kataev@gmail.com.
Шабалина Ольга Аркадьевна - кандидат технических наук, доцент, Волгоградский государственный технический университет, 400131, Россия, г. Волгоград, пр. Ленина, 28, O.A.Shabalina@gmail.com.
Камаев Валерий Анатольевич - доктор технических наук, профессор, Волгоградский государственный технический университет, 400131, Россия, г. Волгоград, пр. Ленина, 28, kamaev@cad.vstu.ru.
При реализации обучающих систем одна из наиболее сложных возникающих задач – задача тестирования и оценки результатов обучения. В системах, обучающих программированию, решения заданий представляют собой фрагменты программного кода, записанные на некотором языке программирования. Для верификации, анализа и тестирования программ существует специализированные инструменты, однако их использование для проверки решений в обучающих системах не всегда приемлемо, поскольку они ориентированы на анализ промышленного кода. В статье изложены особенности программного кода как вида решений заданий и предложены способы проверки такого вида решений. Рассмотрены применение способов проверки текста (исходного кода) решений и результаты работы кода решения. Описаны особенности программного кода, которые снижают эффективность применения методов обработки текста, традиционно применяемых для проверки решений в обучающих системах. Предложены методы предварительной обработки исходного кода (нормализации текста решения), позволяющие повысить эффективность работы алгоритмов проверки текста решения. Предложено применять регулярные выражения для хранения множества эталонных решений и выполнения проверки текста решения. Рассмотрены варианты реализации проверки результата работы программного кода – выполнение кода с использованием существующего интерпретатора или же с использованием специально созданного интерпретатора, ориентированного на применение в обучающей системе. Предложен способ дополнения фрагментов программного кода до полноценной программы с использованием заготовленных фрагментов кода (контекста трансляции).
Ключевые слова: автоматизированные обучающие системы,проверка заданий,оценка уровня знаний,программный код,верификация программного обеспечения,модульное тестирование,регулярные выражения,нормализация программного кода,контекст трансляции,выполнение программного кода.