Пару лет назад моя команда начала эксперимент. Целью его было сделать так, чтобы дети получили шанс научиться программированию через Minecraft. Ранее в этой необычайно популярной песочнице можно было лишь строить миры, создавать мини-игры и участвовать в схватках с монстрами, появляющимися по ночам.
Вас такое заявление наверняка смущает, и это естественно. Многие взрослые люди не понимают прелестей Minecraft, даже те, кто утверждает обратное. Весь шарм игры — в отсутствии правил и открытом мире. Наша цель — воспользоваться энтузиазмом поклонников песочницы, чтобы научить их программированию. В конце концов, играя, люди учатся лучше всего.
Наше новое исследование представляет из себя продукт программы TouchDevelop, которую мы начали в 2011. Ее цель — научить людей создавать ПО и приложения с помощью сенсорных экранов телефонов. Эти устройства во многом превосходят компьютеры, на которых мы в детстве учились программированию. Участники TouchDevelop хотели, чтобы люди могли вносить изменения в свои мобильные так же легко, как мы модифицировали восьмибитные ПК (кстати, если вы хотите как-то разнообразить свою сессию в Minecraft, советуем посетить Mods-MCPE.com. Там можно найти много модов для мобильной версии популярной песочницы).
Затем весь мир начал играть в Minecraft, и мы захотели заняться программированием и там. Остальное, как говорится, уже история.
Во время очередного заочного урока по информатике некоторые из моих учеников смогли модифицировать Minecraft, и это сильно возбудило их. Возможность вносить изменения и сразу видеть их последствия привела к тому, что ребята начали бегать по комнате. Они смотрели на работы одноклассников и выкрикивали IP-адреса своих серверов.
И вот наша команда наконец выложила инструмент Microsoft MakeCode for Minecraft на Windows 10 в общий доступ.
Эта программа отличается пиксельной графикой, свойственной популярной песочнице. В MakeCode можно «писать код» с помощью блоков, использование которых основано на принципе drag-and-drop. Есть и стандартный JavaScript-режим — он уже для более опытных.
Но каким бы путем ни шел пользователь, в MakeCode он освоит азы языков программирования, познакомится с переменными, управлением потоком передачи данных, ветвлениями, циклами и функциями. Набравшись опыта, он сможет перейти к более сложным понятиям, вроде рекурсии, фракталам и объектно-ориентированному или распределенному программированию.
В настоящее время команда MakeCode создает редакторы, позволяющие работать с устройствами вроде микроконтроллеров. Как и в предыдущем случае, процесс написания кода неотделим от строительства. Именно по этой причине многие программисты и осваивают специальные языки.
Мои ученики уверены, что веселятся, создают нечто мощное, а не пишут код. Minecraft — это игра, а MakeCode — инструмент, позволяющий совместить развлечение с программированием. Советую попробовать.