Универсальный Тестовый Комплекс или как я научил учителей своей школы экономить время

в 14:03, , рубрики: Delphi, образование, Программирование, тестирование, тестирование студентов, учеба, школа, метки: , , , , , ,

Предисловие

Эта статья о моём небольшом хобби, которое помогает мне в каком-то плане развиваться, тратить энергию в нужное русло и получать при этом необходимые знания. Очень давно меня посетила идея написать игру для того, чтобы вместе с друзьями весёлой компанией собираться вечером за экранами мониторов и играть во что-нибудь. Выбрал классический вариант — игру мафию. Требования были простыми: игра должна была работать по сети, на главном компьютере ставился сервер, к нему подключалось не более 16 человек (игра дефолтно была рассчитана на максимум 16 персон, на стороне сервера число могло регулироваться от 4 до 16). Спустя примерно одно лето, игра была готова, причём, работало всё слаженно и так, как я хотел. Было всё, кроме дизайна с картинками и звуками: функциональный раздатчик ролей, таймер ходов, взаимодействие между клиентом/сервером/другими клиентами, в общем, всё было замечательно, пока у меня полностью не слетел жёсткий диск, информацию на котором сохранить на удалось. Однако, однажды я на всякий случай решил сохранить сырую версию своего проекта на почте, т.е. отправил обычное письмо сам себе. Как оказалось, не зря. Я решил, что не стоит заного восстанавливать сотни строк кода — нужно начинать новый проект. Подумав секунд двадцать, я понял, что я буду делать.

Идея

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

Воплощение идеи в реальность

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

Что из себя представляет UTC (Universal Test Complex)?

Комплекс представляет собой четыре программы, необходимые для полного управления всеми поддерживаемыми функциями.
Для работы нужно активное подключение к сети Internet.

Клиент

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

Сервер

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

Менеджер настроек
Приложение «Менеджер настроек», с помощью которого осуществляется контроль над всем комплексом программ.
Собственно, с помощью этой программы я могу контроллировать огромный список настроек (51 настраиваемая опция).
Менеджер настроек

Редактор тестов

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

Как работает?

Всё построено на HTTP, FTP и Socket.

Плюсы:

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

Минусы:

  • данный Универсальный Тестовый Компелкс, разработанный мной, ещё не запатентован
  • за данный комплекс программ я ещё не получил грант
  • данная программа пока распространяется только внутри школы, и только лишь совсем недавно была установлена там для работы в тестовом режиме, чтобы была возможность окончательно отладить работу
  • данная программа бесплатна, в отличие от конкурента всем мировым антивирусам
  • данная программа написана на Delphi и не имеет в своём составе принципиально новых революционных алгоритмов
  • при разборе исходников вы не увидите странных надписей
    например
    BAD WORD
  • программа работает с традиционными дисковыми накопителями, принципиально новые технологии не нужны
  • данный комплекс никак не меняет интерфейс системы и не вносит принципиально новые обои от товарища Дениса

Продолжаю ли я работать над проектом?

Да, конечно. В ближайшее время я не планирую закрывать его. Я считаю, что он только начинает равиваться, а что из этого может выйти, я узнаю потом. В любом случае, поставленная цель в каком-то роде достигнута, и я считаю, что это немаловажный плюс.
Вскоре я планирую написать полную инструкцию в каждой из программ, а затем начать раздавать тестовые копии бесплатно в интернете через свой сайт. Было бы интересно посмотреть, что из этого выйдет.

Послесловие

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

Автор: vakhramoff

Источник


* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js