Российские ученые разработали обучающую игру по Python с адаптивной сложностью
Российские ученые создали обучающую игру для изучения Python, которая автоматически меняет сложность заданий и игрового процесса в зависимости от успехов пользователя. В системе заложено 176 правил адаптации, а сама игра включает более 300 заданий — от основ синтаксиса до поиска ошибок в чужом коде.
Источник: Новости науки
МОСКВА, 23 сентября./Наука новости/. Ученые Пензенского государственного университета (ПГУ) разработали цифровую обучающую игру для изучения Python, которая автоматически подстраивает учебную и игровую сложность под действия пользователя. Демоверсию сейчас тестируют будущие программисты ПГУ, сообщили в пресс-службе Минобрнауки.
«Если студент только начинает осваивать Python и ему пока сложно дается код, предлагаются простые задачи на синтаксис. Но при этом сама игра не становится скучной, сюжет остается интересным. Мы специально разделяем сложность программирования и сложность приключения, чтобы игрок не бросил изучение Python из-за первых неудач», — приводятся в тексте слова одного из авторов проекта, заведующей кафедрой «Системы автоматизированного проектирования» ПГУ Ирины Бурукиной.
Разработчики используют геймификацию, чтобы снизить вовлеченность студентов в учебный процесс. Обучающие цифровые игры в ПГУ рассматривают как способ сделать практическое освоение технических дисциплин более привлекательным. При этом, по словам Бурукиной, задача проекта заключается не в развлечении аудитории, а в использовании привычного для современной молодежи игрового формата для учебы.
Идея проекта возникла у студента Политехнического института ПГУ Егора Егорова после собственного опыта изучения Python в образовательной программе «Яндекс.Лицей». По его словам, к концу двухлетнего курса из 15 человек осталось лишь несколько, поскольку материал усваивался тяжело, а вовлеченность снижалась.
Обучающая игра написана на Python. Главный герой — ИТ-специалист Георгий, который после переутомления засыпает и попадает в виртуальный мир, забыв большую часть своих навыков. Чтобы помочь ему вернуться в реальность, игрок должен выполнять задания по Python — изучать команды, конструкции, функции и другие базовые элементы языка. За успешно решенные задачи пользователь получает не только раскрытие сюжета, но и игровые награды и бонусы.
Как игра меняет сложность
Разработчики разделили единый параметр сложности на два независимых направления — образовательное и игровое. В системе заложено 176 правил, определяющих различные варианты развития игры. Алгоритм учитывает ошибки пользователя, время прохождения, число правильных действий и частоту обращения к подсказкам.
На базовом уровне игрок решает простые тестовые задания и дописывает небольшие фрагменты кода, а среди противников встречаются зайцы и лисы. Первые изучаемые функции — print и input. На среднем уровне появляются волки, задания требуют написания нескольких связанных блоков кода, а игровые ловушки становятся менее заметными и требуют более глубокого анализа условий.
На продвинутом уровне противниками становятся медведи. Пользователю необходимо находить ошибки в чужом коде и отлаживать программу так, чтобы она работала корректно. Одновременно возрастает и игровая сложность: противники атакуют чаще, наносят больше урона, а время на принятие решений сокращается.
Всего в игре предусмотрено более 300 заданий, выстроенных по принципу «от простого к сложному», а также дополнительные необязательные квесты. Система сама проверяет написанный пользователем код, указывает на ошибки и подсказывает их причины. Игру можно начинать заново неограниченное число раз, при этом задания будут генерироваться иначе.
Демоверсию уже протестировали более 50 начинающих программистов. На основе их отзывов разработчики продолжают совершенствовать проект. В дальнейшем игру планируют перевести в 3D-формат и создать мобильную версию. Разработка зарегистрирована в реестре Роспатента в качестве программы для ЭВМ.
«Если студент только начинает осваивать Python и ему пока сложно дается код, предлагаются простые задачи на синтаксис. Но при этом сама игра не становится скучной, сюжет остается интересным. Мы специально разделяем сложность программирования и сложность приключения, чтобы игрок не бросил изучение Python из-за первых неудач», — приводятся в тексте слова одного из авторов проекта, заведующей кафедрой «Системы автоматизированного проектирования» ПГУ Ирины Бурукиной.
Разработчики используют геймификацию, чтобы снизить вовлеченность студентов в учебный процесс. Обучающие цифровые игры в ПГУ рассматривают как способ сделать практическое освоение технических дисциплин более привлекательным. При этом, по словам Бурукиной, задача проекта заключается не в развлечении аудитории, а в использовании привычного для современной молодежи игрового формата для учебы.
Идея проекта возникла у студента Политехнического института ПГУ Егора Егорова после собственного опыта изучения Python в образовательной программе «Яндекс.Лицей». По его словам, к концу двухлетнего курса из 15 человек осталось лишь несколько, поскольку материал усваивался тяжело, а вовлеченность снижалась.
Обучающая игра написана на Python. Главный герой — ИТ-специалист Георгий, который после переутомления засыпает и попадает в виртуальный мир, забыв большую часть своих навыков. Чтобы помочь ему вернуться в реальность, игрок должен выполнять задания по Python — изучать команды, конструкции, функции и другие базовые элементы языка. За успешно решенные задачи пользователь получает не только раскрытие сюжета, но и игровые награды и бонусы.
Как игра меняет сложность
Разработчики разделили единый параметр сложности на два независимых направления — образовательное и игровое. В системе заложено 176 правил, определяющих различные варианты развития игры. Алгоритм учитывает ошибки пользователя, время прохождения, число правильных действий и частоту обращения к подсказкам.
На базовом уровне игрок решает простые тестовые задания и дописывает небольшие фрагменты кода, а среди противников встречаются зайцы и лисы. Первые изучаемые функции — print и input. На среднем уровне появляются волки, задания требуют написания нескольких связанных блоков кода, а игровые ловушки становятся менее заметными и требуют более глубокого анализа условий.
На продвинутом уровне противниками становятся медведи. Пользователю необходимо находить ошибки в чужом коде и отлаживать программу так, чтобы она работала корректно. Одновременно возрастает и игровая сложность: противники атакуют чаще, наносят больше урона, а время на принятие решений сокращается.
Всего в игре предусмотрено более 300 заданий, выстроенных по принципу «от простого к сложному», а также дополнительные необязательные квесты. Система сама проверяет написанный пользователем код, указывает на ошибки и подсказывает их причины. Игру можно начинать заново неограниченное число раз, при этом задания будут генерироваться иначе.
Демоверсию уже протестировали более 50 начинающих программистов. На основе их отзывов разработчики продолжают совершенствовать проект. В дальнейшем игру планируют перевести в 3D-формат и создать мобильную версию. Разработка зарегистрирована в реестре Роспатента в качестве программы для ЭВМ.