Есть достаточно много сервисов, которые дают практику программирования. Обычно в таких сервисах описаны задачи, есть возможно писать код в какой-то среде и сервис затем проверяет правильность его работы. Мало где поверх заданий добавлена ещё и социальная сеть, где пользователи могут смотреть и оценивать решения друг друга, где можно видеть статистику по своему продвижению или же по своим “программерским привычкам”, где можно смотреть как те же задания, которые ты уже сделал, решают другие люди. Очевидно, что такая среда была бы намного полезнее для программистов. У программиста нет проблемы найти себе практику, у программиста может быть проблема в том, что он варится в своем собственном соку и, если, например, его рабочие задачи не требуют от него постоянного развития, то тогда он начинает достаточно шаблонно решать любую задачу и не знает, как это можно было бы сделать по-другому и можно ли было бы сделать это эффективнее. CheckiO в этом смысле достаточно уникальное место, где можно тренироваться в программировании, где есть полноценное сообщество, социальная сеть для программистов с возможностью подписываться друг на друга и тд. Всё это возможно бесплатно. Премиум-аккаунт здесь тоже есть, но он необязательный для доступа к большей части заданий и сам функционал соцсетей и код-review тоже открыты для всех пользователей. С точки зрения именно игровых механик, здесь все, более менее, стандартно. Здесь есть уровень, который программист развивает, выполняя задания, есть бейджи, отмечающие его “победы” в процессе прохождения заданий. Здесь есть несколько видов лидербордов, возможность сравнивать себя с другими или в рамках отдельного сообщества, или же в рамках своего класса, если у учителя здесь заведен учительский аккаунт. С точки зрения современного дизайна проект, конечно, выглядит не так современно: здесь практически нет иллюстраций, совсем нет никаких анимаций и работает он не так уж шустро, но в данном случае это и не требуется. Это прекрасный полезный проект, который скорее направлен на пользу для сообщества, чем на монетизацию.
Илья Курылев, эксперт в области геймификации, CEO студии Gamification Now!
CheckiO – сервис для изучения и улучшения навыков программирования в игровой форме. Поддерживаются языки Python и TypeScript.
Посетить проект можно здесь.
CheckiO — игра для начинающих и опытных разработчиков, в которой можно улучшить свои навыки решая задачи и головоломки с использованием Python и TypeScript. Игра состоит из миссий, представленных в виде набора упражнений, задач и головоломок, которые постепенно усложняются. Каждый набор задач расположен на разных островах, чтобы перейти с одного острова на другой игрокам необходимо решить предложенные на нем задачи или головоломки.
Создатели проекта так описывают свою миссию: "Мы всегда хотели создать самую увлекательную игру, где игровой и кодовый опыт переплетаются, где нет границы между игрой и обучением новым навыкам. Игру, в которой кодирование органично вписывается в игру как навык, необходимый для прогресса в увлекательной игре. Мы верим, что у каждого свой путь становления кодера. Мы моделируем бесконечное желание приобщиться к кодингу, потому что это весело. И мы дорожим сообществом, в котором обмен знаниями и поддержка коллег являются ключевыми компонентами игры, помогающими людям по всему миру свободно и творчески осваивать кодинг. Среди наших игроков есть как самые талантливые кодеры в мире, так и те, кто только начинает свой путь. Такое разнообразное сообщество в сочетании с игровыми инструментами для работы с кодом позволяет CheckiO стать центром обмена знаниями и опытом между инженерами и кодерами".
В начале игры игрок видит карту с цветными, доступными для прохождения островами: elementary, с простыми задачами, и home, с более продвинутыми задачами. Остальные острова заблокированы, чтобы их разблокировать, игроку нужно сначала решить задачи на открытых островах. Чтобы перейти на новый остров, не обязательно выполнять все задачи, нужно набрать определенное количество очков, которое нужно для открытия конкретного острова. Например, чтобы начать решать задачи на острове Hubspot нужно набрать 100 очков, чтобы начать решать задачи на острове Maya нужно набрать 300 очков. Также часть островов и миссий станут доступны только при покупке платной версии игры.
Каждый остров хранит в себе набор миссий (разных по сложности задач) и у каждого острова есть общий уровень сложности задач.
За каждое решение заданий пользователю начисляются очки, накопление которых позволяет пользователю набирать игровые уровни. Пользователи могут объединяться в команды и также набирать очки совместно.
Например, чтобы перейти на 11й уровень нужно набрать 645 очков. Открытые уровни дают игроку возможность решать больше задач и, например, добавлять свои собственные миссии. Игра кастомизируемая, поэтому все желающие игроки могут внести свой вклад в неё, предложив идеи по изменениям. Начиная с 9 уровня игроки могут создавать свои собственные миссии. Для начала игроку нужно создать в сообществе тему с описанием своей идеи и вариантами тестовых задач (это можно сделать на любом уровне), а затем, основываясь на фидбеке создать миссию, дойдя до 9 уровня игры или решив этот вопрос с администрацией игры индивидуально.
У каждого игрока есть свой профиль пользователя, информация из которого видна и другим игрокам. В профиле пользователя показаны бейджи ученика, статистика по тому, какие он использует алгоритмы решений, какими методами программирования решает задачи и другие данные о нем.
Бейджи – награды за выполнение определенных действий, как задания. Например:
Пройденные миссии и открытые острова также отмечаются значками, как и бейджи и видны в профиле пользователя.
Профессиональный уклон тоже отображается в профиле пользователя и виден всем игрокам. Уклон формируется на основе данных о том, как ученик решает задачи. Он отображен в виде статистики и позволяет ученику понять, есть ли у него уклон, в какую сторону и дает возможность развивать свои навыки шире. Например, посмотреть, какие уклоны есть у других игроков, как они решают задачи интересным ему способом и перенять их опыт.
Уклон определяется автоматически на основе данных о решении, какими способами игрок чаще всего решает задачи.
У CheckiO есть сообщество игроков, которое помогает игрокам делиться знаниями и опытом с разными участниками по всему миру. Игроки, которые уже решили миссию, могут посмотреть, как решили ее другие пользователями и перенять их опыт. Например, по какой-то конкретной решенной миссии можно посмотреть чужие решения и увидеть, как её можно было решить по-другому. Или, когда пользователь знает, что тот или иной игрок решает задачи определенным алгоритмом, и он тоже хочет научиться решать задачи также, тогда игрок может посмотреть решения интересующего его игрока и перенять его опыт.
Каждый пользователь может запросить комментирование своего кода от других игроков. Так у пользователей появляется возможность посмотреть чужие решения, которые признаны самыми лучшими (по номинациям простое или креативное решение).
В сообществе у пользователей также есть возможность подписываться друг на друга – формировать свой круг единомышленников (подписчиков).
В игре есть два лидерборда, один среди бесплатных пользователей, второй среди платных, премиум-аккаунтов (про премиум аккаунт см. ниже). Оба лидерборда формируются как за все время игры, так и ежемесячно.
В ChekiO есть возможность подключить себе премиум-аккаунт. Каждый пользователь может пользоваться бесплатной версией игры или за определенную оплату добавить себе несколько возможностей:
В ChekiO могут регистрироваться учителя и обучать программированию в своих собственных классах.
Если ты учитель, то ты можешь получить на платформе особый аккаунт и создать свой класс, как отдельную группу пользователей. В класс можно добавить и других, новых пользователей, которые сами зарегистрируются на платформе. У учителя будет собственный лидерборд, он будет видеть, какие задания сделали его ученики, как далеко они ушли, какие они получили достижения и статистику применения их методов программирования. Учителя также могут делать код-review, оценивая решения конкретного человека. У учителя будет его собственная лента его класса, в которой будет отображено, кто что решил, какие получил награды и т.д.
«CheckiO часто используют в школах как дополнительный источник практики. В Poland Polytechnic Institute один преподаватель ставит зачет всем студентам, которые достигли 12-го уровня на CheckiO»