«Информационные Ресурсы России» №3, 2012



А. Антоников, С. Чискидов, Е. Павличева.

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

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

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

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

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

Использование тестов накладывает отпечаток на вид проверяемых знаний: с помощью тестов можно проверить академические знания студента, но при этом остаются неохваченными знания по практическому решению поставленных задач. Для проверки практических знаний студентов можно использовать сервисы наподобие http://uva.onlinejudge.org/, позволяющие выбрать задачу и загрузить результаты ее решения для проверки. Однако  использование таких сервисов неудобно в силу отсутствия возможности оперативно собрать статистику выполнения задачи группой студентов, а также сложности представленных задач в силу того, что, как правило, такие ресурсы ориентированы на решение олимпиадных задач.

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

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

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

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

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

Данный модуль разрабатывался для системы дистанционного обучения «Прометей», хотя фактически он может быть интегрирован в любую СДО. Для реализации серверной части было принято решение использовать СУБД MS SQL 2008 в силу того, что данная СУБД имеет как бесплатные редакции, так и платные, при миграции между которыми нет ограничений по функционалу. Также стоит отметить, что  начиная с SQL Server 2005, встроена поддержка .NET Framework. Благодаря этому хранимые процедуры БД могут быть написаны на любом языке платформы .NET с использованием полного набора библиотек, доступных для .NET Framework.

Для удобства пользователей с системой можно работать с помощью web-интерфейса и desktop-приложения, их функционал одинаков, но приложение функционирует значительно лучше при небольшой скорости доступа к интернету.

Desktop-приложение и web-интерфейс спроектированы на основе паттерна Модель-Представление-Контроллер, или по-английски Model-View-Controller (рис. 1). Для реализации был выбран язык программирования С# в силу того, что есть возможность использования написанных классов для переноса приложения на web-интерфейс, множество вариантов взаимодействия с БД, таких как ADO.NET, LINQ to SQL.
 

Не указано

Рис. 1. Desktop-приложение и web-интерфейс спроектированы на основе паттерна Модель-Представление-Контроллер или по-английски Model-View-Controller

При работе с системой пользователь принимает одну из следующих основных ролей (рис. 2):
1)    студенты, могут получать из системы задания, выполнять их и загружать выполненные задания в систему для проверки;
2)    преподаватели могут создавать задачи, отслеживать выполнение задач студентами, корректировать оценки системы, просматривать отчетность;
3)    сотрудники деканата могут просматривать отчетность.
 
Не указано

Рис. 2. Распределение ролей при работе с системой

Данная диаграмма показывает также последовательность реализации пользователями своих основных потребностей:
1)    преподавателем создается задание;
2)    студент получает задание;
3)    студент выполняет задание;
4)    преподаватель просматривает результаты тестирования;
5)    сотрудник деканата и/или преподаватель просматривают отчеты о проделанной студентами работе.
Если рассмотреть диаграммы потоков данных “AS IS” (рис. 3) и “TO BE” (рис. 4) деятельности преподавателя по проверке выполненных студентами заданий, становится видно, что использование подобной системы позволит значительно снизить нагрузку по проверке выполненных заданий на преподавателя, а также минимизирует вероятность возникновения ошибки, вызванной человеческим фактором.
 
Не указано

Рис. 3. Диаграммы потоков данных “AS IS”
 
Не указано

Рис. 4. Диаграммы потоков данных “TO BE”

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

Таким образом, использование подобной системы в учебном процессе позволит:
1)    повысить прозрачность системы выставления оценок;
2)    снизить трудовые затраты преподавателя на проверку домашних заданий;
3)    стимулировать творческую деятельность студентов в процессе поиска оптимальных решений различных задач;
4)    повысить информированность участников образовательного процесса (администрация, преподаватели, студенты);
5)    организовать дифференцированный подход к выдаче заданий для студентов в соответствии с уровнем знаний.

Литература:

1.    Трайнев В.А., Гуркин В.Ф., Трайнев О.В. Дистанционное обучение и его развитие (Обобщение методологии и практики использования). – 2-е изд. – М.: «Дашков и К», 2010 – 294 с.
2.    Антоников А.А., Ковалева В.А., Масумов М.А., Дикарев В.А., Павличева Е.Н. Создание социально-образовательной информационной среды факультета//Актуальные проблемы развития дополнительного профессионального образования: Сб. тезисов по материалам круглого стола в ГОУ ВПО МГПУ (2 апреля 2010 года) - М.: ОМЦ СЗОУО. - С. 75-76.
3.    Павличева Е.Н., Орехова Е.Н. Технологии дистанционного обучения при преподавании ИТ-дисциплин//Информационные технологии в образовании: Сб. трудов Международной конференции. - М.:МГПУ. – 2010. – С. 235 – 239.