Cubetto – программирование для детей, которое можно пощупать руками
Возраст, начиная с которого можно начать программировать, неумолимо уменьшается. Этому способствую энтузиасты придумывающие способы программирования доступные малышам. Так, разработчики из компании Primo Toys, вдохновлённые системой Монтессори и языком ЛОГО, создали деревянного робота Cubetto, которого детишки смогут программировать в игровой форме, причём без компьютера, начиная с 3-х лет.
Вообще то первая версия Cubetto увидела свет аж в 2013 году. Это был набор «сделай сам», а затем играй. Т.е. взрослые сначала должны были всё собрать из частей. Новая версия – это готовый к использованию сертифицированный продукт, масштабированный до глобального сообщества преподавателей и родителей, и готовый для классов и домов любой точки мира.
Как программировать с Cubetto?
Процесс программирования выглядит следующим образом: ребёнок вставляет в углубления на специальной доске блоки, каждый из которых обозначает простую команду-движение, тем самым составляя программу, и затем нажимает на кнопку, чтобы робот эту программу выполнил, т.е. начал двигаться определённым образом. А чтобы у юных программистов была цель, в комплекте к роботу прилагается карта мира размером 1x1м, по которой робот сможет путешествовать. Так дети смогут самостоятельно придумать свою историю и рассказать её.
Блоки-команды есть следующие: вперёд (зелёный блок), влево (жёлтый блок), вправо (красный блок) и функция (голубой блок). Блоки можно ставить на линию последовательности (см. п. A на картинке снизу) или на линию функции (см. п. B на картинке снизу).
Блок-вперёд заставит робота передвинуться вперёд на одну клетку на карте мира и остановиться. Блоки повороты заставят его повернуться на 90 градусов. Блок-функция запускает на выполнение команды стоящие на линии-функции. Если вы поставите блок-функцию на линию функции, то ничего страшного не произойдёт, робот просто будет циклично выполнять команды функции, пока вы его не выключите.
Почему Монтессори?
- Нет правил. Cubetto даёт возможность детям самостоятельно решать проблемы в мире, который они сами создали. Это даёт им свободу выражения творческих способностей, не требуя специального образования, и не отвлекая внимание на экран.
- Ориентация на ребёнка. Всё, что нужно знать ребёнку для старта, это понимание, что блок = действие. Начиная с этого момента, даже исследование, что делает каждый из блоков, может быть совершено самим ребёнком без участия взрослых, хотя иногда помощь может и понадобится.
- Авто-дидактический подход. Решение проблем с блоками путём проб и ошибок. Как только последовательность команд отправляется роботу, результат появляется моментально и не абстрактно, давая детям конкретные основания для само-коррекции, без вмешательства взрослых.
- Спроектировано для скаффолдинга. Когда проблема слишком сложна, правильная последовательность команд может быть составлена коллективным усилием детей в одной игровой сессии. Каждый ребёнок может в свою очередь добавить блок или последовательность, наслаивая свои индивидуальные способности для решения проблемы небольшими шагами.
Какие понятия программирования дети прочувствуют?
- Алгоритмы – это наборы точных инструкций, которые формирую программу. Блоки Cubetto являются физическим представлением таких инструкций, которые ребёнок может потрогать.
- Очереди - инструкции в программе, которые выполняются друг за другом в определённом порядке. На доске Cubetto инструкции объединяются и следуют по волнистой линии, которая представляет собой командную строку.
- Отладка – инструкции, выложенные на доске Cubetto, сразу выполняются роботом, и, когда робот не доезжает до нужного места, исправить ошибки можно просто меняя блоки.
- Функции – создание подпрограммы на линии функции. Вызов функции с линии последовательности, позволит сделать программы более короткими и элегантными.
- Бесконечные циклы. Вставьте блок-функцию в линию функции и увидите, как Cubetto будет повторять одно и то же бесконечно. Как остановить такой бесконечный цикл? Просто выключить Cubetto и включить его снова.
Учебный план
Кроме того, что разработчики сделали такого замечательного робота, они не забыли и об учебном плане. Пока он пребывает в бета версии здесь.
Технические детали
Теперь посмотрим внутрь робота, т.е. на характеристики и начинку. Робот работает на 6-ти батарейках AA, и может продержаться от 4-х до 6-ти часов. Здесь используется контроллер Atmel SAM D21, такой же, как и в Arduino Zero, поэтому желающие покопаться в мозгах Cubetto смогут запрограммировать этого робота в стандартной среде разработке Arduino - Arduino IDE.
Где купить Cubetto?
Сейчас сделать предзаказ можно на сайте Kickstarter. Стоимость набора – 195 долларов. В набор входит робот, доска, 16 блоков (каждого по 4 шт.), карта мира и книга истории. Есть ещё расширяющий пакет за 65 долларов, в который входит ещё дополнительные 3 карты мира и 3 книги историй (всего карт 4, см. картинку снизу: Солнечная система, Водный мир, Древний Египет, Город). А можно заказать сразу расширенный комплект за 245 долларов, где будут сразу все возможные карты и книги.