РАЗРАБОТКА ОБУЧАЮЩЕЙ СИСТЕМЫ ДЛЯ РЕШЕНИЯ ЗАДАЧ ПО ПРОГРАММИРОВАНИЮ, ОСНОВАННОЙ НА ПОНЯТИИ КОМПЕТЕНЦИЙ - Студенческий научный форум

IV Международная студенческая научная конференция Студенческий научный форум - 2012

РАЗРАБОТКА ОБУЧАЮЩЕЙ СИСТЕМЫ ДЛЯ РЕШЕНИЯ ЗАДАЧ ПО ПРОГРАММИРОВАНИЮ, ОСНОВАННОЙ НА ПОНЯТИИ КОМПЕТЕНЦИЙ

 Комментарии
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF
Сейчас в нашей стране активно взят курс на модернизацию механизмов обучения. При этом необходимо сохранить фундаментальность образовательного процесса и применить при этом новые, более эффективные ресурсы - в том числе, информационные. Кроме того, одним из важных пунктов реформы образования в России является развитие ресурсов, обеспечивающих организацию смешанного обучения и ведения учебного цикла [1].

В Саратовском государственном социально-экономическом университете на протяжении нескольких лет идут работы по данному направлению. Целью работ стало проектирование и разработка обучающей системы, позволяющей осуществлять процесс как очного, так и  дистанционного обучения.

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

В основе разработанного проекта лежат современные тенденции в области информационно-коммуникационных технологий. В качестве средств разработки были выбраны серверные возможности языка программирования Java и платформа JBoss Application Server [5].

База данных спроектирована на PostgreSQL [6]. Данный выбор обусловлен свободным распространением СУБД (лицензия BSD [7]), а также кроссплатформенностью, что позволит сделать систему гибкой в отношении используемых систем (технология Java также является кроссплатформенным механизмом).

Для связи базы данных с концепцией объектно-ориентированного программирования, на которой основан язык Java, был использован Hibernate [8]. Данная библиотека предоставляет удобное и гибкое ORM-решение. Использование Hibernate позволило спроектировать систему в виде объектно-ориентированной модели с отображением на базу данных.

Модель авторизации и механизм поддержки сессий пользователей построены с использованием технологий Spring [9] (в частности, Spring Security). Использование Spring позволило обезопасить систему путем поддержки защиты как на уровне web-страниц, так и на уровне программного кода отдельных методов.

Кроме того, дополнительным фактором в пользу Spring и Hibernate служит то, что разработчик может настроить связь между ними. Это позволило скрыть детали управления сессиями и транзакциями от имплементационного кода, содержащего основную логику.

Концепция системы базируется на следующих сущностях:

  1. Пользователь. Все оъекты указанной сущности сгруппированы по принципу работы: «Студенты», «Преподаватели» и «Администраторы». В зависимости от членства в одной из групп пользователю автоматически выдаются права на доступ к отдельным ресурсам системы. Работу этого функционала обеспечивает модуль Spring Security и модель безопасности, основанная на защите проектного кода.
  2. Задача. Любая задача классифицируется по сложности и тематике. Задача является минимальной неделимой единицей, над которой работают пользователи. К любой задаче прилагается полное описание с тестовыми примерами. Наполнение системы задачами осуществляется при помощи специального раздела, доступного преподавателям, а также администраторам.
  3. Тест. Решение об успешной сдаче задачи система формирует на основе запуска специального набор тестов, уникальных для каждой задачи. При запуске тестов учитывается фактор времени и используемые ресурсы. Система тестирования построена на концепции, при которой каждый тест логически связан с возможной ошибкой при написании решения. Такой подход позволяет не только объективно проверить решение по каждой задаче, но и точно и в автоматическом режиме формировать рекомендации с замечаниями.
  4. Попытка. Каждая попытка решить задачу определяется временем, используемым языком программирования, а также исходным текстом решения. В ходе автоматического тестирования формируется отчет о результатах и происходит выдача соответствующих рекомендаций.
  5. Задание. Множество задач, на работу с которыми накладываются временные рамки, формирует задание. Оно может быть прикреплено к одному или группе студентов. Подобная гибкость позволяет использовать систему при проведении как дистанционных занятий, так и очных, где требуется непосредственное присутствие преподавателя.

Ключевым моментом в образовательном процессе является не только приобретенные знания, но и контроль прогресса обучения, начиная с базовых знаний и заканчивая приобретенными. Для обеспечения такого механизма в системе был построен цикл обучения, представленный на рисунке.


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

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

1. Выполнение заданий.

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

2. Индивидуальная работа.

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

Когда срок обучения подходит к концу, пользователь обязан пройти выходной контроль, результаты которого сохраняются в системе, а пользователь переходит в статус неактивного. На основе этих данных делаются выводы о процессе обучения, а также происходит сбор статистики по работе системы в целом.

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

Рекомендации актуальны и в режиме работы над заданиями. Также актуально выдавать рекомендации преподавателям - работу студентов в системе можно транспонировать в оценку. Необходимо отметить, что учитывать такую оценку стоит только в рамках дополнительной информации - принимать окончательное решение должен непоредственно преподаватель. Несомненно, вариаций выдачи рекомендаций в процессе обучения большое количество, поэтому важно автоматизировать этот процесс.

В качестве эффективного способа предупреждения ошибок в программном коде была разработана последовательность тестов. В работе используется принцип smoke-тестирования - тестов, направленных на выявление явных ошибок в программном коде [4]. Если запуск smoke-тестов привел к появлению ошибок, последние изменения откатываются, а код подлежит немедленному исправлению.

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

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

Список литературы:

  1. Управление образовательных программ и стандартов высшего и среднего профессионального образования. Законодательные акты Российской Федерации о высшей школе.
  2. Lambert M. Surhone. Java EE Application // 2010.
  3. James Gosling, Bill Joy, Guy Steele, Gilad Bracha. The Java Language Specification, Third Edition // The Java Series. 2005.
  4. Steve McConnell. Daily Build and Smoke Test // IEEE Software, Vol. 13, No. 4, July 1996.
  5. JBoss. URL: http://www.jboss.org.
  6. PostgreSQL. URL: http://www.postgresql.org.
  7. The BSD License. URL: http://www.opensource.org/licenses/bsd-license.php.
  8. Hibernate - JBoss Community. URL: http://www.hibernate.org.
  9. Spring Framework. URL: http://www.springsource.org.
Просмотров работы: 43