Следуя рекомендациям специалистов, сотрудники «Тырнета» начали создавать свои игры, которые затем выложили в свободном доступе на одноименном портале. Параллельно с созданием развивающего контента в компании занялись продвижением Scratch. Этот язык программирования, базирующийся на идеологии Open Source[7], был разработан специально для детей, и научиться работать с ним несложно. Главное преимущество Scratch в том, что программы составляются из разноцветных блоков-функций, с помощью которых школьники могут сами создавать игры, анимацию и музыку.
Единственная проблема Scratch не был русифицирован, поэтому сначала детей приходилось учить английскому языку, а уж потом программированию. Тогда партнеры по «Тырнету» убедили Павла перевести Scratch на русский язык. Сначала он отнесся к этой идее скептически, но время показало, что решение было верным: осваивать принципы программирования на родном языке намного легче.
За перевод взялся известный в педагогической среде преподаватель из Нижнего Новгорода Евгений Патаракин. Он же написал первое русскоязычное руководство по работе с визуальной средой, которое «Тырнет» издал при поддержке компании Intel. Это сделало возможным обучение программированию не только старшеклассников, но и ребят помладше. Чуть позже появилась упрощенная версия языка Scratch Junior, в которой блоки с текстом заменили на картинки и пиктограммы. Тогда постигать азы кодирования малыши начали с пяти лет, даже не умея читать.
Зачем таким маленьким детям программирование? Оно помогает развивать логическое и творческое мышление, ставить перед собой цель и добиваться ее. Допустим, ребенок хочет создать мультик или игру. Сперва он придумывает, что будет делать его персонаж, а потом ищет способы решить эту задачу, разбивая ее на части. Например, герой куда-то идет, а затем останавливается и поет песенку. Значит, сначала нужно написать программу для ходьбы и протестировать ее, после чего переходить ко второму заданию. При этом ребенок в любой момент может отменить команду, чтобы исправить ошибку или попробовать что-то новое.
Благодаря работе с кодом дети учатся не бояться ошибок. Не все ребята, которые с ранних лет учатся работать со Scratch, в будущем станут айтишниками, но навыки программирования пригодятся им во взрослой жизни. Возможно, скоро владеть ими будет так же важно, как уметь читать.
В проекте ScratchDuino открытое ПО Scratch соединилось со свободным аппаратным обеспечением Arduino. Такое решение лучше всего подходит для обучения детей робототехнике и программированию, потому что помогает понять, как все устроено. Любую деталь робота ребенок может изготовить самостоятельно. А свободное программное обеспечение дает возможность посмотреть исходный код, разобраться, почему он написан определенным образом и что будет, если внести в него изменения.
И Arduino, и Scratch объединяет понятное для любого программиста Open Source это свободные, доступные каждому технологии. Ключевое в них свобода:
использовать продукт с любой целью;
изучать, как он работает, и модифицировать под свои нужды;
делать копию продукта и делиться ею с товарищами;
улучшать продукт и размещать наработки в публичном доступе, чтобы помочь сообществу двигать прогресс вперед.
«РОББО» один из самых масштабных проектов в области образования, созданный за очень небольшие деньги с помощью феномена Open Source. Мы взяли технологии на миллиарды долларов и добавили своих 10 миллионов, а в итоге получилась самая дорогая технология в мире. Но нам ее подарили: мы просто скачали все из интернета, иначе не смогли бы оплатить такую масштабную разработку. И теперь мы, в свою очередь, дарим сообществу Open Source наработки «РОББО», говорит Павел Фролов. Сейчас многие меняют свою жизнь, исходя из понимания общественной пользы, например, переходят на раздельный сбор мусора. Чем больше людей будет публиковать свои проекты с бесплатными лицензиями, тем быстрее мы построим мир, к которому стремимся: свободное общество, где все открыто делятся идеями друг с другом.
Глава 2
«В XXI веке на уроках надо собирать роботов, а не табуретки!»
15 минут столько сегодня нужно ребенку, чтобы с помощью оборудования «РОББО» собрать первого робота и запрограммировать его на какие-то действия. Увидев, как это просто, дети обычно приходят в восторг. Команде удалось создать конструктор, который помогает сделать процесс обучения основам программирования увлекательным: с роботами уроки информатики становятся интереснее и понятнее.
Сначала компания «Тырнет» предложила школам наборы схемотехники с Arduino, но учителям оказалось сложно работать с большим количеством датчиков, лампочек и моторчиков. К тому же дети могли легко вывести микроконтроллер из строя: уронить, облить водой, положить в груду скрепок. Тогда плату упаковали в прозрачный антивандальный корпус из оргстекла. Получившийся картридж стал основой для двух устройств: цифровой лаборатории и робоплатформы.
Цифровая лаборатория (рис. 3) стала мостиком из реального мира в виртуальный. Благодаря трем установленным датчикам света, звука и переменного резистора электронное устройство собирает данные об окружающей среде: громко там или тихо, тепло или холодно, темно или светло. Эта информация передается на компьютер, и ее можно использовать при написании программ. Например, сделать так, чтобы в зависимости от освещения в комнате менялось положение солнышка на экране.
Это идеальный инструмент для первого погружения детей в мир интернета вещей, который позволяет понять, как работают современные гаджеты для «умного дома», например шторы, открывающиеся утром при звонке будильника. Кроме датчиков к устройству подключены светодиоды, что позволяет сделать из него, например, эмулятор светофора или «умную лампочку», которая реагирует на движение. А еще в плату встроена крестовина кнопок: лаборатория легко превращается в геймпад для компьютерной игры, написанной ребенком на языке Scratch, или в пульт управления робоплатформой.
Рис. 3. Цифровая лаборатория
Робоплатформа (рис. 4), наоборот, соединяет виртуальный мир с реальным. С помощью компьютерной программы дети могут управлять роботом: научить его ездить по линии или менять траекторию движения при встрече с препятствием. Функциональность зависит лишь от фантазии автора программы.
Устройство представляет собой модульную моторизированную платформу на колесах, к которой с помощью магнитов крепятся датчики. Это одна из главных ее фишек, позволившая сделать процесс сборки быстрым. Секунда и к роботу надежно прикреплен датчик касания. Еще одна и вот уже спереди красуется фара. Дальше ребенок собирает для него программу в системе Scratch, словно разноцветный пазл, и наслаждается результатом, наблюдая за тем, как робот выполняет заданные команды. Обычно первые задачи, которые программируют дети, гонки роботов, поиск выхода из лабиринта или робофутбол.
Рис. 4. Робоплатформа
В 2010 году первые версии устройств прошли апробацию в нескольких московских школах. Идея разнообразить уроки информатики с помощью роботов-исполнителей понравилась как детям, так и педагогам. Также стало понятно, что потенциал проекта ScratchDuino намного больше. Робототехника способна не просто сделать более наглядными и интересными уроки математики, физики, информатики, биологии и химии, но и показать, как эти предметы связаны между собой.