300 likes | 533 Views
Кафедра САПР и ПК Волгоградский Государственный Технический Университет. Адаптивная обучающая игра для изучения языков программирования. Авторы Воробкалов П.Н. Ефанов П . А . Катаев А.В. Тарасенко А.В. Шабалина О. А. Мы играем в серьезные игры!. Цели и задачи. Цель:
E N D
Кафедра САПР и ПК Волгоградский Государственный Технический Университет Адаптивная обучающая игра для изучения языков программирования Авторы Воробкалов П.Н. Ефанов П.А. Катаев А.В. Тарасенко А.В. Шабалина О. А. Мы играем в серьезные игры!
Цели и задачи Цель: • Повышение мотивации студентов в процессе обучения в ВУЗе Задачи: • Разработка подхода к обучению в вузе, с применением обучающих игр • Разработка механизмов приобретения практических навыков в изучаемых дисциплинах с использованием игрового подхода • Адаптация обучающих курсов для применения в игровом процессе • Разработка моделей, методов и механизмов адаптивного обучения в игре • Реализация игры
Актуальность разработки • Российская игровая аудитория составляет 35% россиян 14-35 лет в городах с населением свыше 100000 • Появление новых форм обучения, внедрение дистанционных технологий основано на применении в процессе обучения автоматизированных обучающих систем. • Средний возраст игроков растет (по исследованию медиакомпании Gameland)
Актуальность разработки обучающей игры • Обучение с автоматизированных систем не всегда оказывается эффективным, в том числе потому, что не вызывает особого интереса. • Многие дисциплины образовательного стандарта «Информатика и вычислительная техника» требуют получения практических навыков • Предполагается разработка обучающих игровых систем по ряду дисциплин: • Алгоритмизация и программирование • Искусственный интеллект • Компьютерная и инженерная графика • Теория управления • Базы данных и другие
Анализ существующих обучающих игр • Игры обучения детей • Деловые игры • Программирование • КуМир(Инфомир, 1990): • Специфический и устаревший язык • Слишком простые исполнители и задачи • Практически отсутствует игровая составляющая • Colobot(Epsitec, 2005): • Специфический процедурный язык • Программирование носит второстепенный характер • Обучающий курс присутствует только в виде справки КуМир Colobot
Актуальность разработки обучающей игрыдля обучения языку программирования C# • Потребность российских предприятий и организаций в новых ИТ-специалистах в 2007 году составляет 175 тыс. человек. • Сейчас в России около 1,1 млн. ИТ-специалистов. • около 300 тыс. из них занято непосредственно в ИТ-индустрии. • 750 тыс. человек работает в ИТ-отделах на предприятиях различных отраслей экономики и государственных структур. • Количество подготавливаемых российскими вузами ИТ-специалистов не соответствует потребностям индустрии. • Язык программирования C# входит в семейство языков .NET. Данная технология сейчас очень востребована. Источник информации: HTTP://DTF.RU
Жанр игры • Для повышения привлекательности игры выбран жанр RPG (ролевая игра). • Жанр RPG является одним из самых популярных (по данным игрового ресурса Gamespy.com). • В ролевой игре игрок развивает свой персонаж. • Он часто ассоциирует с ним себя. • Это позволяет естественно обучать человека и совершенствовать его навыки в процессе игры. • При улучшении навыков программирования и принятии правильных решений персонаж в игре будет быстрее развиваться, а это создаст дополнительную мотивацию.
Механизмы реализации компонентов обучения в игре
Взаимосвязь концептов предметной области C# и уровней игры
Концепция игры • Главный герой – робот-трансформер, существующий в виртуальном мире. • В процессе игры игрок может использовать программирование для преодоления препятствий • Игрок может программировать: • преобразования формы главного героя - трансформера • поведение главного героя • других роботов, обладающих уникальными способностями
Пример программирования трансформации робота Пример трансформации void SampleTransform() { LeftArm.Roll(-Math.PI / 2); RightArm.Roll(Math.PI / 2); }
Пример программирования трансформации робота Трансформация в змейку void TransformToSnake() { LeftArm.Roll(Math.PI / 2); RightArm.Roll(-Math.PI / 2); Head.Hide(); LeftLeg.MoveToCenter(); RightLeg.MoveToCenter(); LeftArm.MoveToCenter(); RightArm.MoveToCenter(); }
Перемещение робота в узком пространствес использованием алгоритма змейки
Концепция обучения программированию в процессе игры • Игра состоит из ряда этапов возрастающей сложности. • Каждый этап посвящен изучению одного раздела учебного курса • Игрок получает информацию о разделах от персонажей игры • Каждый этап может быть преодолен различными способами • По результатам прохождения каждого этапа уровень знаний игрока оценивается • Оценка зависит от способа преодоления этапа.
Этапы прохождения игры (структура обучающего курса) • Базовые элементы • Типы данных • Операторы • Классы • Выражения и операции • Процедуры, функции и методы класса • Исключительные ситуации; • Типы приложений; • Среда разработки Visual Studio.Net. Каркас Framework.NET
Макет экрана к заданию «Создание персонажа»
Генерация класса «Player»по результатам создания персонажа /* Definition of the class “Player” */ class Player { string Name; // data type – string int[] Password; // data type – array of integers // Gender «Male» is chosen const bool IsMale = true; // Age byte Age; // data type – byte, default value equals to 0 // Constructor of a class “Player” public Player() { Name = “<Character name>”; // data type string Password = new int[] { 0, 1, 2, 9, … }; // data type – array of integers Age = <User-defined value>; } }
Пример игрового задания Квест: Исправить систему навигации
Концепция адаптации процесса обучения • Для каждого раздела обучающего курса определено множество заданий разного уровня сложности • Для определения уровня знаний по каждому разделу используются Байесовский механизм вывода • По результатам оценки уровня знаний выбирается либо следующее задание либо следующий раздел курса, т.е. для каждого игрока генерируется свой сюжет, зависящий от его текущего уровня знаний
Интерпретация байесовской сети применительно к задаче оценки текущих знаний обучаемого • каждый узел сети предметной области представляет собой переменную, определяющую уровень знания соответствующего концепта предметной области; • переменная определена на шкале состояний; • для оценки знаний выбрана дискретная шкала с четырьмя значениями, то есть значение переменной определяется набором вероятностей состояний из набора: • KL={‘E’,’G’,’S’,’N’}, где KL– уровень знаний обучаемого; E – отличные знания; G – хорошие знания; S– удовлетворительные знания; N– неудовлетворительные знания.
Байесова сеть для расчета уровня знаний игрока
Проект «Serious games»Мы играем в серьезные игры! План работы по созданию игры «Singularity» • Разработка учебной программы и обучающего курса по С# • Разработка механизмов адаптации • Разработка прототипа игры • Создание материалов обучающего курса • Разработка демо-версии • Разработка полной версии игры • Разработка сетевой версии и игрового сервера
Заключение • Разработана концепция адаптивной обучающей игры • Создана дизайнерская документация • Разработан бизнес-план проекта • Сформирован устойчивый коллектив • Начата реализация обучающей системы • К идее применения компьютерных игр для обучения в учебных заведениях проявили большой интерес университеты: • Katholieke Hogeschool Kempen (Бельгия) • Glasgow Caledonian University (Шотландия) • Université Nice-Sophia Antipolis (Франция)
Участники проекта • Научный руководитель – к.т.н., доц. каф. САПРиПК Шабалина О.А. • Участие в международных проектах: • TEMPUS-TACIS PROJECT TEMPUS N JEP - 25070_2004Modernization of Education in ICT at South Russian Universities • TEMPUS-4Network for universities and enterprises cooperation(NEUC)JEP_26108_2005 • Воробкалов П.Н. – первое место на конференции «Технологии Microsoft в теории и практике программирования», Москва, 2006 • Тарасенко А.В. – работа в игровой индустрии, опыт создания коммерчески успешных игр • Катаев А.В. - участник полуфинала международного чемпионата по программированию ACM-2006
Контакты • Шабалина Ольга Аркадьевна Shabalina@cad.vstu.ru • Воробкалов Павел Николаевич pavor84@mail.ru • Тарасенко Алексей Владимирович volgatav@mail.ru • Катаев Александр Вадимович kataevav@mail.ru • Ефанов Павел Алексеевич efanov_vstu@mail.ru