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

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

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

Никулин В.В. 1, Пахмутов А.В. 1
1НТИ (ф) УрФУ
 Комментарии
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF

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

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

Наша идея заключается в том, что помимо условия задачи, пользователь системы должен получать:

  • информацию об алгоритмах решения;

  • краткое описание используемых алгоритмов;

  • ссылки на более подробное описание и разбор указанных алгоритмов (Wikipedia, Internet, ссылки на книги с указанием страниц/разделов);

  • примеры решения выбранной задачи на различных языках программирования.

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

  • система должна являться банком задач по программированию;

  • система должна быть хранилищем теоретических знаний, необходимых для решения задачи;

  • система должна предоставлять пользователю разобранные примеры решений для более успешного обучения;

  • система должна быть удобна в использовании.

В ходе работы было выделено два основных класса объектов, а именно класс “Теория” и класс “Задача”, которые непосредственно связаны друг с другом. Конечно уже существует множество банков задач, поэтому так же были выделены классы “Решение” и “Алгоритм решения”, в которых пользователи, являющиеся редакторами, могут публиковать свои решения какой-либо задачи, а так же описывать ход своих рассуждений.

Используя, дополнительный модуль CMS Plone OntoEditor, созданный сотрудниками и студентами нашей кафедры, позволяющий в интерактивном, удаленном и визуальном режиме создать онтологию и наполнить ее знаниями, была создана семантическая сеть, моделирующая предметную область для нашей системы. Семантическая сеть представляет собой ориентированный граф, вершины которого соответствуют объектам предметной области, а дуги задают отношения между ними. Исходя из требований, предъявляемых к системе, были созданы необходимые классы объектов, для каждого были присвоены определенные свойства, а так же была определена связь между классами. Представление онтологии в окне редактора онтологий, входящего в состав OntoEditor, показано на рисунке (Рисунок 1).

Рисунок . Созданная онтология

Каждый класс онтологий определяется связями с другими классами онтологии. Так, к примеру, к одной теме может относится множество задач (Рисунок 2).

Рисунок . Пример класса «Задача» в онтологии

Нами создан web-сайт, использующий созданную онтологию для задания структуры хранения информационных ресурсов. На рисунке представлен пользовательский интерфейс для объекта, относящегося к классу «Задача» (Рисунок 3).

Рисунок . Реализация класса «Задача» с помощью контент-типа

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

Рисунок . Раздел сайта «Задачи»

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

СПИСОК ЛИТЕРАТУРЫ

  •  
    1. Грегер .С. Э. Администрирование и интерфейс пользователя CMSPlone / С. Э. Грегер // Федер. агентство по образованию, ГОУ ВПО «УГТУ-УПИ им. первого Президента России Б.Н. Ельцина», Нижнетагильский технол. ин-т (фил.). - Нижний Тагил: НТИ (ф) УГТУ-УПИ, 2009.-140с.

    2. Грегер С. Э. Сервер приложений "Zope". Учебное пособие для вузов. - М.: Горячия линия - Телеком, 2009. - 256 с.: ил.

Просмотров работы: 1082