Программа Глобус ++

Содержание

Слайд 2

Варенцов Михаил, 10 «В» класс, лицей «Вторая Школа» Программа «Глобус++» Целью

Варенцов Михаил, 10 «В» класс, лицей «Вторая Школа»
Программа «Глобус++»
Целью проекта является

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

ЦЕЛИ И ЗАДАЧИ Разработка программы, позволяющей тестировать и улучшать знания по

ЦЕЛИ И ЗАДАЧИ

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

Цель:

Задачи:

Разработка

и реализация «движка» для работы с географическими объектами и текстовыми вопросами.
Разработка формата для хранения заданий в файлах.
Разработка удобного и приятного интерфейса.
Создание редактора объектов и вопросов.
Создание средств сетевого контроля тестирования
Слайд 4

ПРЕДСТАВЛЕНИЕ ДАННЫХ Тема Вопросы Географические объекты Названия: А) основное название Б)

ПРЕДСТАВЛЕНИЕ ДАННЫХ

Тема

Вопросы

Географические объекты

Названия:
А) основное название
Б) названия-синонимы

Ключевые точки

Коэффициент сложности

Текст вопроса

Варианты ответов

Номер правильного
ответа

Ссылка на объекты

Тема Рельеф

России
Объекты:

Вопросы:

Тема Моря России
Объекты:

Вопросы:

Тема Реки России
Объекты:

Вопросы:


Массив из тем:

struct Theme
{ const char* name; Map* map;
Geo_Object Obj [MAX_OBJ];
Question Quest [MAX_QUEST];
int obj_n;
int quest_n;
};

struct Geo_Object
{ Text Names [MAX_NAMES]; Point Key_Points [MAX_OBJ];
int point_n;
int name_n;
int type;
int difficult;
};

struct Question
{ char* text;
Text Answers [MAX_ANSWER];
int answ_n;
int true_answ;
};

Тип объекта

Информация о карте

Слайд 5

РАБОТА С ДАННЫМИ FG4EG G;8@8- G;8@8 A4@8- nГШЮпШз Гбд A8J B5=86G-

РАБОТА С ДАННЫМИ

FG4EG G;8@8-
G;8@8 A4@8- nГШЮпШз Гбд
A8J B5=86G-
FG4EG A4@8F-
A4@8- nЖгУЮp
A4@8-

nЖгУЮпдЭЫШ Цбгоp
8A7 A4@8F-
GLC8- %
7<99<6H?G- &#

START THEME
THEME NAME: {Рельеф}
NEW OBJECT:
START NANES:
NAME: {Урал}
NAME: {Уральские горы}
END NAMES
TYPE: 2;
DIFFICULT: 40

Запись данных в
файле с темой

Данные после
декодирования

Слайд 6

АНАЛИЗ ДЕЙСТВИЙ УЧЕНИКА 1 2 3 4 Получение начальной точки Определение

АНАЛИЗ ДЕЙСТВИЙ УЧЕНИКА

1

2

3

4

Получение
начальной точки

Определение направления
показа объекта

Получение остальных
точек ученика

Сравнение траекторий
ученика и

объекта

Начальный объект

R = (CONST - сложность объекта) / сложность теста

Слайд 7

ИНТЕРФЕЙС ПРОГРАММЫ Главное меню Меню выбора задания Экран во время тестирования

ИНТЕРФЕЙС ПРОГРАММЫ

Главное меню

Меню выбора задания

Экран во время
тестирования

Список тем

Тип теста

Мини-карта

Указка

Текущее
задание

Варианты ответов

Рекорды

Основная карта

Слайд 8

РЕДАКТОР ЗАДАНИЙ Главное окно (wxFrame) Различные диалоги (wxDialog) Панель с закладками

РЕДАКТОР ЗАДАНИЙ

Главное окно
(wxFrame)

Различные диалоги
(wxDialog)

Панель с закладками
(wxNotebook)

Обозреватель карты
(wxScrolledWindow)

Управление
списком объектов,
редактор объектов

Управление
списком вопросов,
редактор

вопросов

Обзор информации
о теме, редактирование
названия и карты.

Открытие/Сохранение
темы

Обзор и управление
картами

Интерфейс редактора реализован средствами библиотеки wxWidgets

Слайд 9

Генерация web-страницы с результатами Доступ к странице тестирования из сети СЕТЕВОЙ КОНТРОЛЬ Запись лога тестирования

Генерация web-страницы
с результатами

Доступ к странице тестирования из сети

СЕТЕВОЙ КОНТРОЛЬ

Запись лога тестирования

Слайд 10

РЕЗУЛЬТАТЫ РАБОТЫ Разработана программа, позволяющая тестировать и улучшать знания по географии.

РЕЗУЛЬТАТЫ РАБОТЫ

Разработана программа, позволяющая тестировать и улучшать знания по географии.

Разработан «движок» для работы с географическими объектами и текстовыми вопросами.
Разработан удобный защищенный формат для хранения заданий в файлах.
Реализован приятный пользовательский интерфейс.
Создан удобный редактор для создания и редактирования заданий.
Слайд 11

ДАЛЬНЕЙШЕЕ РАЗВИТИЕ ПРОЕКТА Замена координат объектов относительно карты на реальные географические

ДАЛЬНЕЙШЕЕ РАЗВИТИЕ ПРОЕКТА

Замена координат объектов относительно карты на реальные географические координаты, что

даст возможность создавать независимые от конкретной карты объекты.
Разработка новых режимов тестирования, например, режим «спиной к карте» и «контурная карта».
Улучшение графики и интерфейса средствами OpenGL.
Улучшение средств сетевого контроля тестирования на основе технологии «Клиент – Сервер». Создание сетевой версии проекта с возможностью проведения единых для класса тестов и контрольных работ.
Модернизация движка и создание на его основе пакета тестирующих программ по разным предметам.
Слайд 12

АЛГОРИТМ ТЕСТИРОВАНИЯ

АЛГОРИТМ ТЕСТИРОВАНИЯ