Оглавление “Книги кейсов”

Сервисы для обучения программированию в игровой форме

Комментарий эксперта

Идея обучаться через программирование – идея очень старая и эффективная. Дело в том, что бессмысленно просто читать и пытаться запомнить все команды, операторы, синтаксис, алгоритмами и так далее. Обучение программированию происходит тогда, когда ученик применяет знания: сталкивается с задачей, которую он пока решить не может, ищет решение, воплощает решение и наслаждается результатами своего решения. В идеале, если ученик на базе этого решения строит свои новые решения, создавая и оптимизируя классы, собственные функции. Логично, что с теми же задачами пользователь может столкнуться в более-менее сложной игре.

Наиболее интересных представителей программистских игр мы вынесли отдельно, посмотрите, например, Screeps: самая сложная и интересная игра по обучению программирования на JavaScript. В этой статье мы собрали более простые и типовые подходы к обучению программированию через игровые задачи. Общее у этих игр вот что: всегда есть некий игровой мир, который нуждается в помощи игрока. Есть или набор задачек и сложностей, которые нужно решить, или есть игровой герой, у которого есть игровые задачи, которые он также с помощью программирования может решить, или же в игровом мире ученик сталкивается с другими пользователями (или их алгоритмами) и чтобы их победить, игрок совершенствует алгоритм своего робота. Если в игре есть встреча с другими пользователями, то сама игра совсем не обязательно должна быть сложная, всю сложность и разнообразие туда вносят другие игроки. Если же других пользователей нет, а такую игру довольно сложно создать и сбалансировать, то создателям приходится делать множество уровней, разнообразных задач, чтобы контент у ученика не кончался, как можно дольше. В этом случае помимо игры (проверки знаний и умений игрока) мы можем добавить пошаговое обучение более сложным алгоритмом и функцией языка программирования.

Илья Курылев, эксперт в области геймификации, CEO студии Gamification Now!

Используемые механики

Обучающая мини-игра
Игровые тренажеры для отработки навыков и закрепления знаний
Квест с заданиями
Конкретные шаги для достижения конкретной цели
Прокачка уровней
Делаем прогресс пользователя измеримым и наглядным
No items found.

Задачи

Используемые механики

Обучающая мини-игра
Игровые тренажеры для отработки навыков и закрепления знаний
Квест с заданиями
Конкретные шаги для достижения конкретной цели
Прокачка уровней
Делаем прогресс пользователя измеримым и наглядным
No items found.

Решение

Давайте рассмотрим подборку сервисов, с помощью которых можно изучить JavaScript, Python, TypeScript и др. навыки программирования игровой форме. 

Code Wars

Code Wars — это комьюнити, где игроки могут совершенствовать свои навыки разработки, тренируясь с другими разработчиками. В игре есть как алгоритмические задачи, так и практические задачи, связанные с шаблонами проектирования. После каждой решенной задачи игрок может посмотреть на другие решения, рассортированные по рейтингу в зависимости от их красоты и практичности.

JS Robot

JS Robot — игра, в которой нужно написать код так, чтобы робот добрался до флага в конце каждого уровня. Для этого нужно управлять роботом через консольку. В игре 10 уровней сложности, перед началом игры можно выбрать любой уровень. На каждом уровне можно самому написать код, а можно воспользоваться кнопкой "показать решение". 

Untrusted

Untrusted – онлайн-игра для людей, которые хотят попрактиковаться и проверить свои навыки в JavaScript. В игре нужно направлять доктора Эвала через машинный континуум к определенной точке, к выходу. Игра предоставляет собой игровую среду, похожую на лабиринт, как в игре змейка, и окно консоли с JavaScript-кодом. У игрока есть доступ ко всем исходным кодам, но, чтобы спастись, нужно внести необходимые изменения в этот код.

В игре есть несколько уровней

Robocode

Robocode — игра с открытым исходным кодом, которая позволяет разработать боевого робота-танка с использованием Java или NET для борьбы с другими танками. Цель игры: создать танк, который сможет победить все вражеские танки на игровом поле. Игроку нужно написать ИИ для робота, чтобы он знал, что делать и как реагировать на события, происходящие на поле битвы.

Игра с открытым исходом дает возможность придумывать свои собственные надстройки или режимы, чтобы продемонстрировать свои навыки разработки.

У танка есть три основные компонента: движение, радар и стрельба. Танки способны двигаться вперед и назад. Радар танка позволяет обнаруживать вражеские танки, и в конечном итоге атаковать их. Уровень конкурентоспособности танка измеряется двумя характеристиками: 

Игра полезна для изучения и практики нескольких языков программирования, таких как Java, Scala, и C# . Она также поможет попасть в сферу искусственного интеллекта. В Robocode есть собственный установщик, встроенный редактор роботов и компилятор Java.

Смотрите также кейсы про игровое обучение программированию:

Используемые механики

Обучающая мини-игра
Игровые тренажеры для отработки навыков и закрепления знаний
Квест с заданиями
Конкретные шаги для достижения конкретной цели
Прокачка уровней
Делаем прогресс пользователя измеримым и наглядным
No items found.

Используемые механики

Обучающая мини-игра
Игровые тренажеры для отработки навыков и закрепления знаний
Квест с заданиями
Конкретные шаги для достижения конкретной цели
Прокачка уровней
Делаем прогресс пользователя измеримым и наглядным
No items found.

Автор статьи: Илья Курылев

Источники: habr.com