Семь игр, которые научат программировать
Подборка приложений и сайтов, вышедших за последние два года, — они призваны погрузить пользователя в программирование через игру.
Сервис разработали выпускники бизнес-инкубатора Area 120 от Google. Разработчики подготовили базовые уроки программирования на JavaScript. В основе лежат головоломки и мини-игры, которые необходимо решить с помощью программного кода. Чтобы начать ими пользоваться, необходимо скачать его из Google Play или App Store.
Приложение включает курс, рассказывающий о функциях вызова, массивах, условных выражениях, переменных, строках, циклах, операторах и о том, как это всё вместе работает. После изучения основ приложение переносит пользователя в раздел, где он учится рисовать фигуры, используя JavaScript-библиотеку для обработки и визуализации данных D3.
Каждый раздел начинается с введения, за которым следуют инструкции и пример. В конце головоломки пользователь помещает код. И после запуска система анализирует и подтверждает его правильность.
Игра представляет симулятор специалиста по машинному обучению, который с помощью визуального программирования зарабатывает на жизнь себе и коту. Игрок может быть фрилансером или техническим директором в стартапе. С помощью внутренней валюты он может покупать апгрейды для техники и одежду коту.
У нас есть раздел с «основными» задачами. Но большинство игроков проводит много времени в «Стартапах» и, увлекшись, возвращаются к «Основным» разделам через непредсказуемый промежуток времени.
Мы продолжаем добавлять уровни, так как машинное обучение не стоит на месте. Кроме того, есть много интересных технологий, которые у нас ещё в разработке.
Надеемся, что скоро порадуем игроков возможностями для построения систем беспилотных машин, свёрточными сетями, обучением с подкреплением и многим другим.
Сейчас мы выпускаем обновление каждую пятницу, а каждый понедельник рассказываем, что планируем делать на неделе. Так игроки могут оперативно делиться своим мнением о наших планах и через неделю получать новую версию игры.
Олег Чумаковгенеральный директор Luden.io, создатель while True: learn ()
Процесс игры построен таким образом, что игроку нужно проложить путь от транзистора до процессора. В основе головоломок лежит процесс проектирования плат. Пользователи могут сравнивать скорость и эффективность своего решения с друзьями и остальными игроками.
Существует множество способов решить задачу, но некоторые решения будут лучше остальных. Пользователю предлагается переосмыслить головоломки, чтобы придумать более «чистые» решения, используя трансформаторы и процессоры.
Игроки приложения учатся создавать смарт-контракты на базе Ethereum на языке Solidity. Каждый урок фокусируется на тонкостях языка и навыках, которые нужны блокчейн-разработчику. Пользователям не обязательно владеть знаниями о Solidity, но приветствуется базовое понимание программирования и технологии блокчейн.
Первый урок состоит из 15 глав, которые можно закончить за час. Каждая из них содержит небольшую задачу, которую необходимо решить во встроенном редакторе. После проверки он даёт обратную связь и, если возникают ошибки, помогает их исправить. Задача первого урока — создать фабрику зомби, чтобы в дальнейшем построить свою армию.
Каждый зомби обладает случайным ДНК и уникальным внешним видом. Новые уроки открывают дополнительные возможности. Например, зомби смогут сражаться с чужими героями. Цель игры — победить армию зомби.
Игра-приключение помогает учить программирование и алгоритмы, чтобы разрушить «четвёртую стену». Задача пользователи — провести главного героя Лони от начального до конечного уровня, используя формальные правила и логику игрового мира.
На каждом уровне игрок сталкивается с препятствиями, и иногда может меняться игровая механика. Новые этапы помогают пользователю узнавать больше о программирования и алгоритмах.
Технология Flexbox позволяет размещать элементы в контейнере CSS в соответствии с разными размерами экрана. Онлайн-игра Flexbox Froggy знакомит пользователя с обработкой в режиме макета. Цель игры — переместить лягушек, отображаемых в правой части экрана, на соответствующие лист лилии.
Пользователь управляет лягушками с помощью CSS-кода. Так как игра рассчитана на новичков, то игроку показываются советы, чтобы он не только дошёл до следующего уровня, но и узнал подробнее о работе Flexbox.
Apple называет Swift Playgrounds «революционным приложением для iPad, которое помогает учить Swift интерактивно и весело». По мнению компании, оно не требует знаний программирования, поэтому подходит для начинающих.
Приложение даёт основные уроки и задачи по программированию в графическом интерфейсе. Для начала игры пользователь выбирает одного из трёх персонажей. И затем управляет им в интерактивном 3D-мире, который можно вращать пальцами.
Apple постоянно добавляет новые задачи. Чтобы создавать собственные программы, в приложение добавлены шаблоны для использования технологий iPad, например, MultiTouch, акселерометр и гироскоп. Можно добавлять собственные музыку и изображения.
В 2018 году компания анонсировала задания по созданию AR-приложений. Например, пользователи учатся программировать анимированного персонажа, чтобы он перемещался по 3D-миру как часть игры с помощью камеры на iPad.
С помощью кода, написанного в приложении, пользователь может управлять роботами и другими подключенными устройствами, например, Lego Mindstorms EV3.
Как игры помогают научиться программировать
Игры о программировании часто учат согласно концепции «если написать команды, то компьютер выполнит их последовательно». Мы в while True: learn () рассказываем, что программирование — это ещё и про преобразование данных из формата А в формат Б. Кроме того, нашим игрокам понравилась концепция «точности» при анализе данных и «переиспользования» своих же наработок.
Со временем мы хотели бы прийти к решению проблемы приёма на работу молодых специалистов. Работодатель хочет брать сотрудников с опытом и пониманием контекста своего бизнеса. Чаще всего он платит за наличие этого контекста либо высокой зарплатой, либо временем, за которое сотрудник осваивается.
Было бы здорово, если при найме нового сотрудника без опыта можно было бы выдать ему игру и за несколько дней погрузить его в специфику рабочего процесса на уровне двухлетнего опыта. Идея использования игр для подготовки и переподготовки сотрудников интересна и далеко за пределами программирования.
С другой стороны, симуляция помогает попробовать себя в другой сфере. Сегодня смена профессии во взрослом возрасте скорее редкость, но через 10–20 лет это может стать частой необходимостью. Да и вполне вероятно, что гибридные профессии будущего невозможно будет освоить без симуляционного опыта.
Игры — самый естественный способ обучения. Если смотреть за рамки программирования, то в игровой симуляции пользователь получает опыт, но без последствий для бюджета и здоровья. Например, такой подход популярен в обучении пилотов и космонавтов.
Различные курсы, в том числе геймифицированные, чаще страдают от низкого числа пользователей, завершивших курс, и обучения высокого порога входа. Курсы бросают более 95% обучающихся. Благодаря сильным сторонам игровых продуктов — умению создать плавный вход и удержать игрока— образовательные игры выглядят многообещающе.
Кроме того, продукты должны выигрывать конкуренцию за внимание пользователя, то есть быть настолько интересными, чтобы он не включал вместо игры видео на YouTube. А игры, как известно, могут похвастаться способностью привлекать и удерживать внимание.
Олег Чумаковгенеральный директор Luden.io
#игры
© vc.ru