Игровое обучение как облачный сервис

Автор: Левоневский Дмитрий Константинович

Журнал: Программные системы: теория и приложения @programmnye-sistemy

Рубрика: Информационные системы в культуре и образовании

Статья в выпуске: 1 (32) т.8, 2017 года.

Бесплатный доступ

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

ID: 14336111 Короткий адрес: https://sciup.org/14336111

Текст ред. заметки Игровое обучение как облачный сервис

В настоящее время для характеристики текущего этапа развития промышленности используется термин «четвёртая промышленная революция» (Industry 4.0) [1] . Industry 4.0 — это тренд, ориентированный на интеллектуализацию производства и уменьшение роли человека в нём. Industry 4.0 находит отражение во множестве технологий — это Интернет вещей (Internet of Things), большие данные (Big Data), киберфизические системы, распределённые вычисления, интеллектуальные пространства (Smart Space), межмашинное взаимодействие (M2M). К основным принципам Industry 4.0 относятся интероперабельность, виртуализация, децентрализация, работа в реальном времени, сервис-ориентированность и модульность [2] .

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

Исследования выполнены при поддержке Программы РАН 1.5П «Проблемы создания высокопроизводительных, распределённых и облачных систем и технологий». ○c Д. К. Левоневский, 2017 ○c Санкт-Петербургский институт информатики и автоматизации РАН , 2017 ○c Программные системы: теория и приложения, 2017

Традиционный процесс передачи обучаемому известных образцов знаний, умений и навыков в ИКТ недостаточен из-за быстрого развития технологий и, следовательно, устаревания этих образцов знаний. Поэтому для ИКТ особенно актуальна модель открытого образования, и, в частности, переход от принципа «образование на всю жизнь» к принципу «образование через всю жизнь» [4] . Для формирования таких компетенций, которые обеспечат ИКТ-специалистам конкурентоспособность на рынке труда в настоящее время и в будущем, необходимы интерактивные методы обучения, предполагающие максимальную вовлечённость в обучающий процесс, использование современных информационных технологий, применение подходов, позволяющих находить индивидуальные, творческие решения, возможность самостоятельного и дистанционного обучения, а также другие подходы, которые определяются матетикой открытого образования [5] .

  • 1.    Геймификация обучения

Одной из распространённых форм обучения являются «серьёзные игры» [6] . Они отличаются от обычных игр прежде всего целью: на первом месте стоит обучение участников игры определённым навыкам, а традиционная для игр развлекательная цель имеет второстепенное значение (но не исключена). Применение игровых подходов в неигровых процессах известно как геймификация [7] .

К наиболее известным сферам применения «серьёзных игр» и геймификации относятся управление транспортными средствами (симуляторы полётов), военная сфера (стратегия и тактика боевых действий), медицина (оказание первой помощи, моделирование хирургических операций). Применение игр в этих сферах обусловлено высокими рисками обучения на реальных объектах и позволяет избежать человеческих жертв и больших материальных потерь. В сфере ИТ известны игры, обучающие программированию [8] .

Большой потенциал и эффективность игрового обучения позволяет применить его и в такой сложной области, как управление информационными системамии — от отдельных компьютеров до распределённых вычислительных структур (GRID-системы, системы обработки больших данных, облачные системы). Более того, геймификация обучения в этой сфере не требует создания сложных моделей изучаемых объектов, так как современные средства виртуализации позволяют строить сколь угодно сложные компьютерные и сетевые системы без модификации аппаратного и программного обеспечения, и единственным условием является наличие вычислительных мощностей, отвечающих сложности создаваемой системы. Если это условие выполнено, можно предоставлять пользователям облачный сервис на основе модели Platform as a Service (PaaS), позволяющий им в игровой форме обучаться необходимым навыкам. Такой подход имеет следующие преимущества:

  • (1)    обучение происходит с высоким уровнем вовлечённости, в занимательной форме;

  • ( 2 )    обучение создаёт дополнительную мотивацию, основанную на системе миссий, достижений и вознаграждений; пользователь всегда отслеживает свой прогресс;

  • ( 3 )    пользователю не нужно обладать системой с высокой производительностью — достаточно любого «тонкого клиента», например, веб-браузера;

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

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

  • 2.    Концепция

Процесс игры, как правило, делят на уровни, на каждом из которых необходимо выполнить определённые задания. Очередной уровень становится доступным после успешного прохождения предыдущего. Такая схема наиболее проста в реализации, но в этом случае прохождение игры становится линейным, а сама игра может выродиться в набор тестовых заданий. Более увлекательного игрового процесса можно добиться при использовании нелинейной модели игры, при которой новые уровни (миссии) открываются не последовательно, а при достижении определённых условий (выполнение других миссий, получение достижений, определённый уровень развития игрока). В этом случае система не навязывает игроку модель поведения, и он может исследовать виртуальный мир почти неограниченно (а не в пределах одного уровня) и самостоятельно выбирать стратегию прохождения, получая те достижения, которые видятся ему необходимыми для движения к цели. Традиционные компьютерные игры, следующие такой концепции (серии Fallout, GTA), отличаются исключительно высоким уровнем реализации виртуального мира и имеют большую популярность.

Рис. 1. Граф игры для развёртывания стека LAMP

Миссия игры состоит из следующих компонентов:

  • (1)    исходные требования — условия, при которых миссия становится доступной;

  • ( 2 )    статус — состояние миссии (например, «недоступна», «доступна», «активна», «завершена»);

  • ( 3 )    триггеры — функции, которые выполняются при определённых условиях, когда миссия активна (например, генерация подсказок для игрока, имитация действий антагониста);

  • ( 4 )    контрольные точки — условия, последовательное выполнение которых необходимо для успешного завершения миссии;

  • ( 5 )    критерии успеха и неуспеха — условия, при которых миссия считается выполненной или проваленной.

Если считать, что исходными требованиями является выполнение определённых миссий, то структуру игры можно представить в виде ориентированного графа. Рассмотрим в качестве примера простое задание, когда пользователю нужно научиться устанавливать и настраивать программное обеспечение для веб-хостинга (рис. 1) .

На рис. 1 номерами обозначены миссии:

  • 1    — получение прав суперпользователя;

  • 2    — установка Apache;

  • 3    — установка PHP;

  • 4    — установка MySQL;

  • 5    — загрузка дампа базы в MySQL;

  • 6    — настройка связи Apache-PHP;

  • 7    — настройка связи PHP-MySQL;

  • 8    — установка и настройка расширения mod_rewrite;

  • 9    — создание доступной по заданному адресу страницы с кодовым словом из базы данных.

  • 3.    Реализация

Модель можно обобщить, позволив пользователю устанавливать произвольное программное обеспечение (nginx, Python, PostgreSQL, и т.д.) для достижения конечной цели. При этом структура графа и реализация игры не претерпят существенных изменений. Также модель можно встроить в виде отдельной миссии в более сложную игру, например, для обучения администрированию облачных систем.

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

  • (1)    система виртуализации — управляет активными виртуальными машинами;

  • ( 2 )    игровой движок (игровой сервер) — управляет игровым процессом и контролирует его, взаимодействуя с виртуальными машинами;

  • ( 3 )    система представления (front-end) — предоставляет пользователю доступ к игровому интерфейсу;

  • ( 4 )    база аккаунтов — хранит информацию о пользователях и их игровом статусе (достижениях, пройденных и доступных миссиях);

  • ( 5 )    хранилище образов — содержит начальные образы виртуальных машин с предустановленным игровым программным обеспечением (игровой клиент);

  • ( 6 )    хранилище снэпшотов — содержит резервные копии виртуальных машин, используемых пользователями в игровом процессе.

Архитектура системы показана на рис. 2.

В качестве приложения пользователя можно использовать как стандартный SSH-клиент (например, PuTTY), так и отдельные приложения, обеспечивающие большую наглядность. Так, можно использовать веб-интерфейс (рис. 3) , позволяющий одновременно работать с удалённым терминалом и отслеживать состояние игры.

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

Рис. 2. Архитектура системы

Рис. 3. Схематичное изображение веб-интерфейса

При инициализации игры можно предложить пользователю пройти предварительное тестирование или «нулевой уровень», результаты прохождения которого определят начальный набор доступных мис- сий. Для этого можно воспользоваться существующими подходами к определению уровней компетенции [9]. В любом случае, пользователь должен иметь базовые навыки работы с компьютером и знание английского языка, так как назначение системы — не обучение Unix с нуля, а дополнительная подготовка.

Прохождение игры позволяет сформировать у обучаемого набор компетенций, необходимых для системного администрирования, например:

  • (1)    знание структуры и особенностей файловой системы Linux;

  • (2)    знание системы управления учётными записями, разграничения доступа к файлам и директориям;

  • ( 3 )    знание системы управления пакетами;

  • ( 4 )    знание консольных команд bash и умение их применять;

  • ( 5 )    умение получать справочную информацию о командах;

  • ( 6 )    умение искать информацию в файловой системе;

  • ( 7 )    умение составлять сценарии bash;

  • ( 8 )    умение применять регулярные выражения;

  • ( 9 )    умение использовать системные утилиты (консольные архиваторы, редакторы).

Заключение

Применение облачных технологий в игровом обучении позволяет сделать процесс обучения ИКТ увлекательным и результативным. В ходе дальнейших исследований необходимо разработать принципы функционирования компонентов создаваемого сервиса и сформулировать требования для его надёжной и безопасной работы, которые обеспечат следование общим принципам защиты облачных сервисов [10] и будут учитывать возможные злоупотребления игроков. Кроме того, необходимо составить детальные игровые сценарии для обучения требуемым компетенциям, а также методы оценки успеха. Реализация такой системы — процесс достаточно сложный, включающий в себя детальную разработку концепции и структуры игры, а также программного обеспечения. В настоящее время разрабатывается концепция, и рассматривается возможность создания такого сервиса на основе кластера СПИИ РАН.

Список литературы Игровое обучение как облачный сервис

  • K. Schwab. The Fourth Industrial Revolution, World Economic Forum, Switzerland, 2016, ISBN: 978-1944835-00-2.
  • M. Hermann, T. Pentek, B. Otto. Design Principles for Industrie 4.0 Scenarios: A Literature Review, Working Paper no. 01, Technische Universitat Dortmund, 2015.
  • Т. И. Ермакова, Е. Г. Ивашкин. Проведение занятий с применением интерактивных форм и методов обучения, Нижегородский гос. техн. ун-т им. Р. Е. Алексеева, 2013.
  • Л. Л. Горбунова. Модель открытого образования молодёжи и взрослых//Человек и образование, 2008, №1(14). С. 40-44.
  • Ж. Фрайссин. Матетика: трансдисциплинарная концепция обучения в цифровых сетях//Непрерывное образование: XXI век, 2016, №1(13), 25 с.
  • А. И. Хитрякова. "Серьёзные игры" в обучении//Инновационная наука, 2015, №10-1. С. 126-130.
  • Что такое геймификация? URL: http://gamification-now.ru/wtf/
  • Игры, которые учат программированию, URL: https://habrahabr.ru/post/273003/
  • Таблица уровней для системного администратора, URL: https://habrahabr.ru/post/145148/
  • В. И. Воробьёв, С. Р. Рыжков, Р. Р. Фаткиева. Защита периметра облачных вычислений//Программные системы: теория и приложения, Т. 6, № 1(24). 2015. С. 61-71, URL: http://psta.psiras.ru/read/psta2015_1_61-71.pdf
Еще
Ред. заметка