Летом прошлого года в Университете ИТМО прошел дистанционный экзамен для поступающих в аспирантуру, а в январе этого года студенты курсов Национальной платформы открытого образования, желающие получить подтвержденный сертификат, получили возможность пройти итоговую аттестацию по выбранному ими курсу.
под контролем проктора.
Все это было организовано на основе специально созданной для этих целей открытой системы дистанционного наблюдения.
В этой статье я попытаюсь сделать обзор системы, а также рассказать о некоторых особенностях ее разработки.
Система дистанционного контроля (далее - СРС) предназначена для поддержки процесса территориально-дистанционного проведения экзаменов, подтверждения личности экзаменуемого и подтверждения результатов его аттестации.
Конечно, эта система не уникальна; существуют зарубежные сервисы, предоставляющие услуги удаленной помощи, такие как ПрокторУ , Онлайн-оценка Mettl , ПрокторЭкзамен или Пирсон ВУ? , но есть внутренний сервис Экзамус и система ПрокторЭду .
Однако разработанная SDN имеет главное отличие – это не сервис, а программное обеспечение с открытым исходным кодом, которое каждый может использовать в своих целях, будь то организация собственного прокторингового центра, проведение подтвержденной аттестации в своей системе электронного обучения или что-то еще.
.
Разумеется, для полноценного функционирования системы необходимы люди (прокторы), рабочие станции с камерами и аудиогарнитурами, а также серверное оборудование и системные администраторы для развертывания и обслуживания системы.
Но когда необходимая инфраструктура уже есть, остается вопрос программного обеспечения.
И именно на этот вопрос отвечает данная система.
Работа с SDN разделена на две основные части: интерфейс испытуемого и интерфейс проктора.
Сначала тестируемый загружает и запускает приложение, авторизуется и видит список доступных ему для сдачи экзаменов в режиме прокторинга (список экзаменов создается заранее или автоматически загружается из СДО через API).
Затем он может запланировать время сдачи этих экзаменов; для каждого запланированного экзамена тестируемому назначается доступный в это время наблюдатель.
Доступное время формируется на основании графика, составленного прокторами; у них есть соответствующий интерфейс для этого.
Далее студент подключается к проктору через приложение в указанное им время и начинается экзамен.
Проктор сопровождает тестируемого на протяжении всего экзамена; в его обязанности входит проведение процедуры идентификации и контроль нарушений правил проведения экзамена.
После завершения прокторинга студент видит заключение проктора по данному экзамену и его комментарий.
Интерфейс тестируемого перед началом экзамена
Проктор также работает с SDN через приложение.
Основным интерфейсом проктора является таблица расписания экзаменов, где он может видеть все запланированные ему экзамены и их статус, который меняется в режиме реального времени.
Когда студент подключается к экзамену, проктор видит это, подключается к нему, и экзамен начинается.
Проктор видит испытуемого через веб-камеру, а также его рабочий стол.
Перед экзаменом проктор должен провести процедуру идентификации, при которой студент предъявляет документ, удостоверяющий личность, а проктор сверяет указанные данные в профиле тестируемого с фотографией документа и лицом тестируемого на веб-камере.
В случае успешной идентификации данные и фотография документа сохраняются в протоколе экзамена, а экзаменуемому предоставляется доступ к экзамену в LMS. После этого испытуемый входит в СДО и приступает к выполнению заданий.
На протяжении всего экзамена проктор может делать записи и сохранять скриншоты в протокол экзамена, что может пригодиться при решении спорных вопросов в дальнейшем.
По окончании экзамена проктор подписывает протокол и выдает заключение, которое отображается студенту и передается в LMS через API. В случае нарушения правил экзамена проктор имеет право прервать экзамен и указать причину досрочного прекращения экзамена.
Проктор может одновременно наблюдать за несколькими субъектами; количество одновременных сеансов ограничено возможностями проктора, ресурсами его компьютера и пропускной способностью сети.
Таблица экзаменов в интерфейсе проктора
Интерфейс проктора, процедура идентификации личности
Общая архитектура SDN показана на рисунке ниже.
Все используемые технологии открыты и распространяются по свободным лицензиям.
Система полностью написана на JavaScript, в качестве среды разработки использовалась облачная IDE. Облако 9 .
Основные части системы — сервер на node.js и express, база данных MongoDB с хранением небольших файлов в GridFS, медиасервер Kurento, хранилище архива медиаданных (видеозаписей сеансов прокторинга) с доступом по протоколу WebDAV. и десктопное приложение на node-webkit (в качестве альтернативы приложение может использовать специальное расширение Chrome для работы из веб-браузера).
В качестве основы для передачи видео выбраны протокол WebRTC и медиасервер.
Курэнто для организации и управления медиапотоками между клиентами, а также записи этих потоков.
На данный момент Kurento удовлетворяет всем потребностям как по функционалу, так и по производительности, но стоит упомянуть и о других подобных решениях – это Ликод И Джитси Видеобридж .
Авторизация в SDN осуществляется на базе модуля PassportJS; на данный момент поддерживается вход с использованием логина и пароля или через OAuth. При необходимости вы можете добавить стратегию авторизации из уже поддерживаемых в PassportJS или написать свою, как это было сделано для авторизации через систему единого входа Университета ИТМО (для этого написана специальная стратегия).
Клиент реализован как одностраничное веб-приложение, которое может запускаться в веб-браузере, однако функция захвата экрана и скриншоты доступны только после установки специального расширения Chrome или через специальное приложение.
узел-webkit , который доступен для платформ Windows, Linux и OS X. Отдельное приложение особенно полезно, если вы не хотите быть привязанным к веб-браузеру и его версии, где к тому же могут быть установлены сторонние расширения, которые могут повлиять на работу приложения в браузере, что нежелательно.
SDN не содержит функций системы управления обучением (LMS), но может быть связана с ней через API. Чтобы взаимодействовать с Национальная платформа открытого образования (NPOO) реализован специальный API, который можно расширить для взаимодействия с другими LMS. На рисунке ниже представлена схема взаимодействия участников системы с использованием такого API.
В течение одного сеанса передается несколько видеопотоков: камера испытуемого, камера проктора и рабочий стол испытуемого.
Параметры каждого потока задаются в настройках приложения, где можно указать источник видео и звука, максимальное разрешение и частоту кадров.
Имеется соответствующий интерфейс проверки качества связи и изображения, что позволяет заранее узнать о возможных технических проблемах.
Все видео и аудио потоки сеанса прокторинга записываются.
Видеозаписи сессий сохраняются на отдельном хранилище с доступом по протоколу WebDAV, что позволяет логически отделить хранилище от самой системы.
Благодаря протоколу WebDAV вы можете, например, использовать Яндекс.
Диск .
Позже эти записи и протоколы экзаменов можно будет просмотреть через интерфейс SDN. Для перекодирования видеозаписей и загрузки их на сервер был написан специальный модуль, описание которого можно найти в отдельная статья .
Приложение использует точное время сервера, которое не зависит от часов компьютера; для удобства восприятия время корректируется с учетом часового пояса клиента.
Для доступа к базе данных SDN реализован специальный JSON REST API с гибкой настройкой прав доступа и параметров вывода данных.
Например, вы можете настроить доступ по токену к доверенному серверу, который будет собирать и обрабатывать статистику.
Этот API полностью поддерживает CRUD (создание, чтение, обновление и удаление) для работы с коллекциями MongoDB на основе моделей Mongoose, созданных в SDN, а также поддерживает исходный синтаксис запросов Mongo.
Минимальные технические требования
Параметр | Минимальные требования |
---|---|
Клиентская часть | |
Операционная система | Windows XP+; ОС Икс 10.7+; Линукс |
Процессор | Intel i3 1,2 ГГц или аналогичный |
Скорость сетевого подключения | 1 Мбит/с |
Свободное место на диске | 100 МБ |
Свободная оперативная память | 1 ГБ |
Разрешение веб-камеры | 640x480 |
Частота кадров веб-камеры | 15 кадров в секунду |
Разрешение экрана монитора | 1280x720 |
Серверная часть | |
Операционная система | Убунту 14.04 (64-разрядная версия) |
Процессор | Шестиядерный процессор AMD Opteron 2427 2,2 ГГц или аналогичный |
Средняя загрузка процессора | 5%/сессия |
БАРАН | 2 ГБ + 100 МБ/сессия |
Подключение к сети | 1,5 Мбит/с/сессия |
Запись на диск | 150 КБ/с/сессия |
Дисковое пространство | 10 ГБ + 500 МБ/час/сессия |
Архивирование видео | 100 МБ/час/сессия (5 кадров в секунду со звуком) |
Вы можете развернуть систему самостоятельно или использовать готовый Vagrant-бокс.
Инструкции и исходные коды опубликовано на GitHub .
Упоминания в СМИ
- В Университете ИТМО впервые прошли дистанционные экзамены в аспирантуру
- Студент онлайн: вузы Петербурга присоединились к программе «Открытое образование»
-
Топ-5 Лучших Дешевых Планшетов
19 Oct, 24 -
Трудности Перевода И Appleid
19 Oct, 24 -
Проверка Хостов В Браузере
19 Oct, 24 -
Скайп 3.0.0.217
19 Oct, 24 -
Google Ajax Search Api – Огромная Ошибка?
19 Oct, 24