bc90e996130ea71cd0f2a4c0dca9f150.ppt
- Количество слайдов: 29
Адаптивная обучающая игра для изучения языков программирования Кафедра САПР и ПК Волгоградский Государственный Технический Университет Мы играем в серьезные игры! Авторы Воробкалов П. Н. Ефанов П. А. Катаев А. В. Тарасенко А. В. Шабалина О. А.
Цели и задачи Цель: Повышение мотивации студентов в процессе обучения в ВУЗе Задачи: Разработка подхода к обучению в вузе, с применением обучающих игр Разработка механизмов приобретения практических навыков в изучаемых дисциплинах с использованием игрового подхода Адаптация обучающих курсов для применения в игровом процессе Разработка моделей, методов и механизмов адаптивного обучения в игре Реализация игры 2
Актуальность разработки Появление новых форм обучения, внедрение дистанционных технологий основано на применении в процессе обучения автоматизированных обучающих систем. Российская игровая аудитория составляет 35% россиян 14 -35 лет в городах с населением свыше 100000 Средний возраст игроков растет (по исследованию медиакомпании Gameland) 3
Актуальность разработки обучающей игры Обучение с автоматизированных систем не всегда оказывается эффективным, в том числе потому, что не вызывает особого интереса. Многие дисциплины образовательного стандарта «Информатика и вычислительная техника» требуют получения практических навыков Предполагается разработка обучающих игровых систем по ряду дисциплин: Алгоритмизация и программирование Искусственный интеллект Компьютерная и инженерная графика Теория управления Базы данных и другие 4
Анализ существующих обучающих игр Игры обучения детей Деловые игры Программирование Ку. Мир (Инфомир, 1990): – – – 5 Специфический и устаревший язык Слишком простые исполнители и задачи Практически отсутствует игровая составляющая Colobot (Epsitec, 2005): – Ку. Мир Специфический процедурный язык Программирование носит второстепенный характер Обучающий курс присутствует только в виде справки Colobot
Актуальность разработки обучающей игры для обучения языку программирования C# Потребность российских предприятий и организаций в новых ИТ-специалистах в 2007 году составляет 175 тыс. человек. Сейчас в России около 1, 1 млн. ИТ-специалистов. около 300 тыс. из них занято непосредственно в ИТиндустрии. 750 тыс. человек работает в ИТ-отделах на предприятиях различных отраслей экономики и государственных структур. Количество подготавливаемых российскими вузами ИТспециалистов не соответствует потребностям индустрии. Язык программирования C# входит в семейство языков. NET. Данная технология сейчас очень востребована. Источник информации: HTTP: //DTF. RU 6
Жанр игры Для повышения привлекательности игры выбран жанр RPG (ролевая игра). Жанр RPG является одним из самых популярных (по данным игрового ресурса Gamespy. com). В ролевой игре игрок развивает свой персонаж. Он часто ассоциирует с ним себя. Это позволяет естественно обучать человека и совершенствовать его навыки в процессе игры. При улучшении навыков программирования и принятии правильных решений персонаж в игре будет быстрее развиваться, а это создаст дополнительную мотивацию. 7
Механизмы реализации компонентов обучения в игре Изучение теоретической информации Информацию предоставляют персонажи игры Приобретение практических навыков Приобретаются при программировании роботов Оценка уровня знаний Мини-игры Адаптация процесса обучения к обучаемому Нелинейный сюжет, определяемый текущим уровнем знаний и целями обучения 8
Взаимосвязь концептов предметной области C# и уровней игры 9
Структура уровней игры 10
Концепция игры Главный герой – робот-трансформер, существующий в виртуальном мире. В процессе игры игрок может использовать программирование для преодоления препятствий Игрок может программировать: преобразования формы главного героя трансформера поведение главного героя других роботов, обладающих уникальными способностями 11
Механизмы трансформации робота в игре Part Элемент робота Head Голова Left. Arm Right. Arm Левая рука Правая рука Right. Forearm Left. Forearm Метод класса Robot. Element Описание метода Part. Hide() убрать элемент Правое предплечье Левое предплечье Part. Yaw(angle) повернуть элемент Left. Hand Right. Hand Левая кисть Правая кисть Part. Pitch(angle) наклонить элемент Left. Shoulder Right. Shoulder Левое плечо Правое плечо Part. Roll(angle) вращать элемент Torso Торс Left. Thigh Right. Thigh Левое бедро Правое бедро Part. Move. To. Center() переместить элемент к центру блока Left. Shank Right. Shank Левая голень Правая голень Left. Foot Right. Foot Левая стопа Правая стопа 12
Пример программирования трансформации робота Пример трансформации void Sample. Transform() { Left. Arm. Roll(-Math. PI / 2); Right. Arm. Roll(Math. PI / 2); } 13
Пример программирования трансформации робота Трансформация в змейку void Transform. To. Snake() { Left. Arm. Roll(Math. PI / 2); Right. Arm. Roll(-Math. PI / 2); Head. Hide(); Left. Leg. Move. To. Center(); Right. Leg. Move. To. Center(); Left. Arm. Move. To. Center(); Right. Arm. Move. To. Center(); } 14
Механизм движения робота-змейки 15
Перемещение робота в узком пространстве с использованием алгоритма змейки 16
Концепция обучения программированию в процессе игры Игра состоит из ряда этапов возрастающей сложности. Каждый этап посвящен изучению одного раздела учебного курса Игрок получает информацию о разделах от персонажей игры Каждый этап может быть преодолен различными способами По результатам прохождения каждого этапа уровень знаний игрока оценивается Оценка зависит от способа преодоления этапа. 17
Этапы прохождения игры (структура обучающего курса) Базовые элементы Типы данных Операторы Классы Выражения и операции Процедуры, функции и методы класса Исключительные ситуации; Типы приложений; Среда разработки Visual Studio. Net. Каркас Framework. NET 18
Макет экрана к заданию «Создание персонажа» 19
Генерация класса «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 Is. Male = 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>; } } 20
Пример игрового задания Квест: Исправить систему навигации 21
Концепция адаптации процесса обучения Для каждого раздела обучающего курса определено множество заданий разного уровня сложности Для определения уровня знаний по каждому разделу используются Байесовский механизм вывода По результатам оценки уровня знаний выбирается либо следующее задание либо следующий раздел курса, т. е. для каждого игрока генерируется свой сюжет, зависящий от его текущего уровня знаний 22
Варианты сценариев игры 23
Интерпретация байесовской сети применительно к задаче оценки текущих знаний обучаемого каждый узел сети предметной области представляет собой переменную, определяющую уровень знания соответствующего концепта предметной области; переменная определена на шкале состояний; для оценки знаний выбрана дискретная шкала с четырьмя значениями, то есть значение переменной определяется набором вероятностей состояний из набора: KL={‘E’, ’G’, ’S’, ’N’}, где KL– уровень знаний обучаемого; E – отличные знания; G – хорошие знания; S– удовлетворительные знания; N– неудовлетворительные знания. 24
Байесова сеть для расчета уровня знаний игрока 25
Проект «Serious games » Мы играем в серьезные игры! План работы по созданию игры «Singularity» Разработка учебной программы и обучающего курса по С# Разработка механизмов адаптации âРазработка прототипа игры Создание материалов обучающего курса Разработка демо-версии Разработка полной версии игры Разработка сетевой версии и игрового сервера 26
Заключение Разработана концепция адаптивной обучающей игры Создана дизайнерская документация Разработан бизнес-план проекта Сформирован устойчивый коллектив Начата реализация обучающей системы К идее применения компьютерных игр для обучения в учебных заведениях проявили большой интерес университеты: Glasgow Caledonian University (Шотландия) 27 Katholieke Hogeschool Kempen (Бельгия) Université Nice-Sophia Antipolis (Франция)
Участники проекта Научный руководитель – к. т. н. , доц. каф. САПРи. ПК Шабалина О. А. Участие в международных проектах: TEMPUS-TACIS PROJECT TEMPUS N JEP - 25070_2004 Modernization of Education in ICT at South Russian Universities TEMPUS-4 Network for universities and enterprises cooperation (NEUC)JEP_26108_2005 Воробкалов П. Н. – первое место на конференции «Технологии Microsoft в теории и практике программирования» , Москва, 2006 Тарасенко А. В. – работа в игровой индустрии, опыт создания коммерчески успешных игр Катаев А. В. - участник полуфинала международного чемпионата по программированию ACM-2006 28
Контакты Шабалина Ольга Аркадьевна Shabalina@cad. vstu. ru Воробкалов Павел Николаевич pavor 84@mail. ru Тарасенко Алексей Владимирович volgatav@mail. ru Катаев Александр Вадимович kataevav@mail. ru Ефанов Павел Алексеевич efanov_vstu@mail. ru 29
bc90e996130ea71cd0f2a4c0dca9f150.ppt