В Саратовском государственном социально-экономическом университете на протяжении нескольких лет идут работы по данному направлению. Целью работ стало проектирование и разработка обучающей системы, позволяющей осуществлять процесс как очного, так и дистанционного обучения.
В результате проведенных исследований был спроектирован метод по контролю знаний и навыков в процессе обучения, используя систему для решения исследовательских задач в области программирования. В ходе обучения система автоматически выдает необходимые рекомендации, как студентам, так и преподавателям. Данный метод дает возможность автоматизации и анализа образовательного процесса посредством методики, разработанной и основанной на понятиях компетенций.
В основе разработанного проекта лежат современные тенденции в области информационно-коммуникационных технологий. В качестве средств разработки были выбраны серверные возможности языка программирования Java и платформа JBoss Application Server [5].
База данных спроектирована на PostgreSQL [6]. Данный выбор обусловлен свободным распространением СУБД (лицензия BSD [7]), а также кроссплатформенностью, что позволит сделать систему гибкой в отношении используемых систем (технология Java также является кроссплатформенным механизмом).
Для связи базы данных с концепцией объектно-ориентированного программирования, на которой основан язык Java, был использован Hibernate [8]. Данная библиотека предоставляет удобное и гибкое ORM-решение. Использование Hibernate позволило спроектировать систему в виде объектно-ориентированной модели с отображением на базу данных.
Модель авторизации и механизм поддержки сессий пользователей построены с использованием технологий Spring [9] (в частности, Spring Security). Использование Spring позволило обезопасить систему путем поддержки защиты как на уровне web-страниц, так и на уровне программного кода отдельных методов.
Кроме того, дополнительным фактором в пользу Spring и Hibernate служит то, что разработчик может настроить связь между ними. Это позволило скрыть детали управления сессиями и транзакциями от имплементационного кода, содержащего основную логику.
Концепция системы базируется на следующих сущностях:
Ключевым моментом в образовательном процессе является не только приобретенные знания, но и контроль прогресса обучения, начиная с базовых знаний и заканчивая приобретенными. Для обеспечения такого механизма в системе был построен цикл обучения, представленный на рисунке.
При регистрации студент (или его преподаватель) заполняет специальный табель, который является входным показателем уровня знаний. Следующим шагом является режим обучения, где пользователь знакомится с возможностями системы. В рамках обучающего режима пользователю предлагается решить ряд несложных упражнений.
По завершении входных этапов контроля вся информация о навыках и компетенции обучаемого считается собранной. Взаимодействовать с системой на данном этапе можно двумя способами:
1. Выполнение заданий.
Задания назначаются руководителем и содержат набор задач и временные рамки, за которые студент должен показать наилучший результат в решение указанных задач. По окончании времени задание завершается независимо от активности обучающегося.
2. Индивидуальная работа.
В качестве самостоятельной работы студент может работать с системой дистанционно, выбирая задачи исключительно на свое усмотрение. Ограничения по времени и прочие факторы в этом режиме отсутствуют. С целью дополнительной стимуляции и создания конкурентной среды среди студентов, работает рейтинг пользователей, в котором на основе кластеризации автоматически формируются «лидирующие» группы. Такой подход к формированию рейтинга дает объективную оценку студентов в рамках поставленной задачи.
Когда срок обучения подходит к концу, пользователь обязан пройти выходной контроль, результаты которого сохраняются в системе, а пользователь переходит в статус неактивного. На основе этих данных делаются выводы о процессе обучения, а также происходит сбор статистики по работе системы в целом.
Набор указанных выше возможностей разработанной системы позволяет осуществлять постоянный мониторинг образовательного процесса. В качестве примера, в случае успешной отправки задачи определенной категории, система, анализируя результат, рекомендует пользователю решать задачи более высокой сложности из той же категории. В другой абстрактной ситуации, при успешной проверке основных тестов, но при наличии ошибок в более редких случаях, студенту стоит выдать рекомендацию сконцентрироваться на методах локального тестирования, убедиться в успешном «покрытии» задачи тестами, и только потом отправлять решение на проверку.
Рекомендации актуальны и в режиме работы над заданиями. Также актуально выдавать рекомендации преподавателям - работу студентов в системе можно транспонировать в оценку. Необходимо отметить, что учитывать такую оценку стоит только в рамках дополнительной информации - принимать окончательное решение должен непоредственно преподаватель. Несомненно, вариаций выдачи рекомендаций в процессе обучения большое количество, поэтому важно автоматизировать этот процесс.
В качестве эффективного способа предупреждения ошибок в программном коде была разработана последовательность тестов. В работе используется принцип smoke-тестирования - тестов, направленных на выявление явных ошибок в программном коде [4]. Если запуск smoke-тестов привел к появлению ошибок, последние изменения откатываются, а код подлежит немедленному исправлению.
В результате проведенной работы была спроектирована и разработана обучающая система для решения исследовательских задач в области программирования. Система позволяет осуществлять процесс как очного, так и дистанционного обучения, что способствует автоматизации и повышению гибкости образовательного процесса.
Внедрение такого решения в учебный процесс вуза возможно с помощью методики анализа работы студента, разработанной на понятиях компетенций.
Список литературы: