является разработка программы, позволяющей тестировать и улучшать знания по географии,
как знания географической номенклатуры, так и теоретические знания. Во ходе работы был спроектирован и реализован движок для тестирования с использованием географических карт, формат для хранения заданий и алгоритмы работы с ним, создан приятный интерфейс программы, редактор для работы с картами и заданиями, средства сетевого контроля тестирования.Задания в программе были разделены на два типа: географические объекты и текстовые вопросы. Географические объекты представляются набором ключевых точек. Объект может иметь несколько названий: основное и альтернативные, и коэффициент сложности. Для некоторых объектов (например, реки) важно направление показа. Вопросы в программе сделаны в виде теста с вариантами ответа. Существует возможность привязать вопросы к конкретному объекту с помощью специального ссылочного механизма. Главной структурной единицей в программе является тема - набор заданий и вопросов на общую тематику. Тема имеет название и путь к файлу с картой. Карты в программе представляются растровыми изображениями, и к ним привязываются определенные темы.
Для хранения заданий в файлах был разработан специальный формат. Каждая тема хранится в отдельном файле. Она представлена набором определенных команд. Чтобы не дать ученику подглядеть ответы, файл подвергается шифрованию. При работе с базой тем программа с помощью системных функций получает список файлов в директории и ищет в них темы. Для этого файл читается построчно, строка декодируется и анализируется. Когда файл кончается, программа переходит к следующему файлу. Когда тема прочитана, она проходит проверку на пригодность для теста (тема должна содержать хотя бы одно задание, имеет путь к карте и т.д.), и добавляется ее в список, из которого будет осуществляться выбор тем для тестирования. По такому же принципу составляется список карт.
Довольно сложно было реализовать анализ действий ученика на карте, так как отмеченная им траектория должна быть пригодна для сравнения с исходными точками объекта. Для этого был разработан специальный алгоритм. Сначала программа определяет ключевую точку объекта, соответствующую первой точке, отмеченной учеником. Для этого сравниваются расстояния от первой точки ученика до всех ключевых точек объекта. Номера точек переставляются таким образом, чтобы ближайшая точка стала первой. Далее определяется направление показа. Для этого сравниваются расстояния от следующей точки ученика до двух соседей первой точки. Номера точек переставляются по направлению показа. Следующие точки ученика отмечаются так, чтобы расстояния между ними были равны расстояниям между соответствующими точками объекта. Когда все точки отмечены или отведенное на ответ время истекает, производится анализ. Если расстояние от точки ученика до соответствующей точки объекта меньше, чем заданная константа, то эта точка отмечена правильно.
Важным шагом при разработке проекта было создание удобного и привлекательного графического интерфейса. Так, например, список рекордов учеников сделан в виде классного журнала, а курсор мыши заменен указкой. Для удобства ориентирования на основной карте есть мини-карта. Процесс тестирования сопровождается звуковыми комментариями.
Так как программа использует свой собственный формат данных, необходимо было создать редактор для работы с этим форматом. Редактор изначально создавался как отдельная программа в составе проекта. Он включает в себя редактор географических объектов и текстовых вопросов и инструменты для управления картами и темами. В последней версии программы была осуществлена полная переработка редактора заданий. Главным отличием нового редактора версии более быстрый, удобный и красивый пользовательский интерфейс, реализованный средствами кроссплатформенной библиотеки wxWidgets.
Одной из поставленных задач была реализация возможности сетевого контроля тестирования. Пока эта возможность реализована лишь частично. Тестирующая программа записывает ход тестирования, и на основе этих данных генерирует web-страницу. Страница динамически обновляется. С помощью программы “Apache” на основе этой страницы создается локальный сетевой сервер. Чтобы следить за ходом тестирования с любого компьютера в локальной сети, необходимо в любом Интернет-браузере набрать IP-адрес компьютера, на котором ведется тестирование.
При дальнейшем развитие проекта, планируется, во-первых, обновление интерфейса тестирующей программы средствами OpenGL. Во-вторых, предполагается развитие сетевой части проекта, создание полноценной системы «Клиент-Сервер». Также планируется расширение возможностей движка и создание на его основе универсальной многопредметной обучающей программы, с разнообразными типами заданий и режимами тестирования. Не без внимания останется и географическая часть проекта, возможности которой можно расширить за счет использования реальных географических координат объектов, что позволит использовать объекты независимо от карты.
Сайт проекта: www.globusplusplus.ucoz.ru
E-Mail разработчика: mvar91@mail.ru