ISSN 0236-235X (P)
ISSN 2311-2735 (E)

Journal influence

Higher Attestation Commission (VAK) - К1 quartile
Russian Science Citation Index (RSCI)

Bookmark

Next issue

2
Publication date:
16 June 2024

Software tools for building support systems for learning problem solving

The article was published in issue no. № 3, 2011
Abstract:Approaches to development of distributed learning systems with problem solving support are presented. Article covers architecture for instrumental support of a learning system which consists of dynamically interacting set of applications based on service-oriented technology.
Аннотация:В статье рассматриваются подходы к разработке программных инструментальных средств построения систем обучения, включающих поддержку в решении задач. Предложена архитектура инструментальной поддержки систем обучения как набор динамически взаимодействующих приложений, построенных на сервисной ориентации.
Authors: (alexandra.redkina@gmail.com) - , Ph.D, (alexandra.redkina@gmail.com) - , Ph.D, (alexandra.redkina@gmail.com) -
Keywords: service-oriented architectures, distributed systems, education systems
Page views: 10190
Print version
Full issue in PDF (5.05Mb)
Download the cover in PDF (1.39Мб)

Font size:       Font:

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

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

Подпись: Рис. 1. Интеграция инструментальной поддержки обучения в решении задач в систему управления обучениемДля решения этих проблем предложена новая архитектура инструментальной среды (рис. 1). Она основана на разделении функциональности, определяющей функции, реализованные в существующих системах управления обучением, и функции, которые необходимо реализовать для поддержки обучения в решении задач [1]. Система управления обучением обладает традиционными функциями, присущими всем системам этого вида, а также содержит описание доступных в данном программном инструментарии сервисов, реализующих проблемно-ориентированные компоненты.

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

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

Подпись: Рис. 2. Структурная схема системы поддержки курса программированияРассмотрим конкретный пример интеграции средств обучения решению задач в систему поддержки обучения. Одной из дисциплин с достаточной формализацией предметной области является программирование. На олимпиадах по программированию широко используются системы, проверяющие корректность решаемых участниками задач в автоматическом режиме. Поэтому для реализации предложенных подходов была проведена интеграция системы управления обучением Moodle и системы проведения соревнований по программированию Ejudge, которая используется в проекте «Московские олимпиады по программированию», где доказала свою надежность и эффективность. Система поддерживает несколько языков программирования и компиляторов, имеет большое количество настроек, гибкий механизм управления учетными записями пользователей. Она не только проверяет корректность решения, но и обеспечивает защиту от потенциально опасных действий со стороны тестируемых программ: ограничение процессорного времени, контроль размеров адресного пространства процесса и стека процесса. Недостатком системы является сложность ее развертывания. Критериями выбора данных систем послужила возможность их работы под управлением операционной системы Linux, использование БД MySQL, наличие интерфейса, позволяющего интегрировать системы с внешним ПО, распространение под лицензией GNUGPL. На рисунке 2 представлена структурная схема системы поддержки курса программирования. Система выполнена по клиент-серверной технологии, поскольку является частью системы Moodle. Подсистема интеграции предназначена для организации взаимодействия между системами Ejudge и Moodle. Она устанавливает связи между сущностями, имеющимися в этих системах, осуществляет конфигурирование и управление системой Ejudge. Информация в системе хранится в общей БД и организована в виде таблиц.

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

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

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

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

Литература

1. Балашов Е.П. Эволюционный синтез систем. М.: Радио и связь, 1985. 328 с.

2. Редькина А.В. Обучение синтезу алгоритмов // Вестн. СибГАУ. 2008. № 1 (18). С. 30–34.

3. Карпов Л.Е. Архитектура распределенных систем программного обеспечения. М.: МАКС Пресс, МГУ, ВМК, 2007. 132 с.


Permanent link:
http://swsys.ru/index.php?page=article&id=2825&lang=en
Print version
Full issue in PDF (5.05Mb)
Download the cover in PDF (1.39Мб)
The article was published in issue no. № 3, 2011

Perhaps, you might be interested in the following articles of similar topics: