Я долго думала над заголовком этой заметки, но смысл последующих строк, нюансы будущего рассказа всё время из него убегали. Не знаю, удалось ли, но мне хотелось соединить два одинаково важных момента.
Первое: опыты с микро:битом профессионального программиста, "не детский" подход к программированию устройства — на ином уровне, который открывает далёкие горизонты возможностей и для детей, и для взрослых.
Второе — поиск этих новых возможностей делается вместе с дочерью-пятиклассницей, которая становится полноправным участником сложных проектов.
Начало истории для меня было неожиданным и необычным. Карантин, дистанционное обучение. Мои 5-классники разрабатывают музыкальный автомат — простую программу, которая позволяет микро:биту проигрывать две различные мелодии. Ссылки на свои работы они выкладывают в Class Notebook (работаем в Office 365). Вечером, перелистывая страницы Class Notebook с домашним заданием и проверяя работы, я наталкиваюсь на страницу "Ольге Алексеевне от папы Софии". Честно признаюсь, не сразу открыла страницу, опасаясь, что настроение будет испорчено посланием родителя, недовольного непривычной формой обучения. Но послание оказалось совсем иного рода. Папа Софии, Владимир, предлагал своё решение задачи, в котором микро:бит, действительно, превращался в автомат, проигрывая случайные мелодии, причём в большом количестве. И сделано это было легко и весело. Так у папы Софии появилось новое хобби, в котором дочь стала полноправным партнёром — всё делается вместе и сообща. Коллекция быстро пополняется новыми проектами, идеи записываются в список TODO, который динамично принимает новые идеи и расстаётся с реализованными.
Примеры проектов:
1. Музыкальная шкатулка. https://makecode.microbit.org/_hTeKb1dU3fqr
При нажатии на кнопку A, играет случайную мелодию в случайной тональности)
Можно использовать как "Угадай мелодию". Еще можно легко добавлять свои мелодии:
Ля — 0 Си — 1 До — 2 Ре — 3 и т. д. до 9
До# — '#2' Си бемоль - 'b1' Ре дубль бемоль 'bb3' Фа дубль диез - '##5'
2. Fire it! Игра-головоломка. https://makecode.microbit.org/_HU00cAgHx4VT
Есть поле 4x4 и случайно зажженные лампочки.
Мигающий курсор (перемещение: кнопка A — влево, B — вправо).
При нажатии на кнопку "A+B" лампочки меняют свое состояние в этом ряду и колонке.
ЦЕЛЬ: зажечь ВСЕ лампочки на поле!
При решении, проигрывается мелодия победы или поражения.
Алгоритм решения: нажимать на кнопку, если сумма зажжённых ламп в строке и столбце четное
3. Найди звезду. https://makecode.microbit.org/_8TRRwjYdp4bA
На своем корабле (мигающий в центре светодиод) вы исследуете другие планеты и звезды в поисках мерцающей звезды. Чтобы путешествовать — нажимай кнопку "A+B". Для разворота корабля на 90 градусов используйте кнопки A и B (против и по часовой стрелке). С каждым уровнем увеличивается размер поля: от маленького 5x5 до самого большого 30x30).
Звезды генерируются случайным образом и может оказаться так, что до мерцающей звезды будет не добраться. В этом случае вы проиграли :( Но не расстраивайтесь, попробуйте начать свой путь заново!
Это только несколько примеров из быстро растущей коллекции.
И вот недавно команда в составе папа и дочь выпустила бета-версию расширения RussianFont, позволяющего выводить на экран микро:бита сообщения, набранные кириллицей (в исходной версии редактора сообщения могут использовать только латиницу). Шрифт сообщений разработан Софией. Расширение RussianFont позволяет не только выводить строки на русском языке, но и добавлять к выводу визуальные эффекты.
Для того, чтобы воспользоваться RussianFont, надо пройти в редакторе блочного кода по ссылкам: Расширенные => +Расширения и добавить расширение по URL — https://github.com/nenahov/microbit-russian-font
После этого становятся доступны новые блоки:
Те, кто хочет разобраться, как всё это работает, найдёт полную информацию на GitHub по той же ссылке.
У этой истории есть начало, можно даже указать дату, но я надеюсь, что окончание её, если и произойдет, то очень нескоро.