Что такое MicroPython и почему его преподают в школах?

MicroPython — это настоящий Python, урезанный до размеров маленьких чипов внутри роботов и гаджетов. Школы выбирают его за мгновенный отклик и за то, что навыки напрямую переносятся в обычный Python.
MicroPython — это компактная версия языка программирования Python, которая работает прямо на микроконтроллере, маленьком и дешёвом чипе внутри робота, сенсорной платы или носимого устройства. Это не имитация и не учебная подделка. Это тот же синтаксис Python, которым пользуются учёный или веб-разработчик, урезанный так, чтобы поместиться в несколько сотен килобайт памяти, и обученный управлять физическими выводами, моторами и экранами. Школы преподают его потому, что он занимает удобную середину: он реальнее перетаскивания блоков, гораздо мягче полноценной настольной среды и честен в том, что этот язык ребёнок узнает и через много лет.
Почему это настоящий Python
Главное слово в названии — Python, а не Micro. Когда ученик пишет for i in range(10): или определяет функцию на плате с MicroPython, он пишет ровно то же самое, что писал бы на Python в университете, в работе с данными и в значительной части индустрии программного обеспечения. Правила для циклов, переменных, списков и отступов идентичны.
Это важно, потому что усилия переносятся. Ребёнок, который научился читать сообщение об ошибке, исправлять опечатку или перестраивать цикл на маленькой роботизированной плате, вырабатывает те же привычки, на которые будет опираться позже в текстовом редакторе на ноутбуке. Переучиваться почти не приходится. Сравните это с некоторыми чисто блочными средами: идеи в них здравые, но конкретный навык не переносится ни на один язык, с которым подросток или взрослый действительно столкнётся.
REPL: набрал строку — увидел результат
Функция, которая покоряет большинство классов, — это REPL, сокращение от read-eval-print loop, цикла «прочитать — вычислить — вывести». Это интерактивная строка ввода: вы набираете одну строку кода, нажимаете Enter, и плата тут же её выполняет. Зажечь светодиод. Считать температуру. Крутнуть мотор полсекунды. Ни сохранения, ни сборки, ни ожидания.
Для новичка такая мгновенная обратная связь стоит многого. Десятилетний ребёнок может экспериментировать так же, как исследует всё остальное: потыкать и посмотреть, что будет. Ошибки становятся дешёвыми и быстро исправимыми, а не превращаются в загадочную стену. Когда путь от идеи до видимого результата занимает пару секунд, ученики пробуют больше, а именно из множества проб и складывается настоящее обучение программированию.
Где блоки передают эстафету тексту
Ничто из этого не делает блочное программирование ошибкой. Блоки — хорошая отправная точка, особенно для младших детей. Они снимают страх опечаток и позволяют сосредоточиться на логике: сначала происходит это, потом то, а если верно вот это — сделай другое. Блоки учат форме программы прежде, чем её правописанию.
MicroPython — это точка передачи эстафеты. Естественный момент наступает, когда ученику блоки начинают казаться медленнее собственных мыслей или когда он хочет сделать то, чего в палитре блоков нет. Многие хорошие инструменты позволяют переключать проект между блоками и эквивалентным кодом на Python, и переход превращается в пологий склон, а не в обрыв. Роботизированная плата, которую мы используем на занятиях в нашей академии, sheenbot infinity, работает на MicroPython именно поэтому: один и тот же проект растёт вместе с ребёнком от блоков к настоящему текстовому коду без смены оборудования.
С чего начать дома или в классе
Чтобы попробовать MicroPython, нужно немного. Короткий список для родителя или учителя:
- Подходящая плата. Большинство школьных микроконтроллеров работают на MicroPython или его близком родственнике. Для старта хватит одной платы; комплект на класс подождёт.
- USB-кабель и ноутбук. Плата подключается и определяется как небольшой диск или последовательное соединение. Дорогая лицензия на программное обеспечение не нужна.
- Редактор с REPL. Выберите редактор для начинающих, который показывает интерактивную строку ввода, чтобы ученик мог набрать строку и увидеть отклик платы.
- Первая крошечная цель. Помигать светодиодом, а потом заставить его мигать быстрее. Маленькие победы лучше амбициозного проекта, который застрянет на настройке.
- Повод продолжать. Еженедельные занятия, каникулярный мастер-класс или проект, который ребёнку действительно интересен, помогут новичку пережить первые разочарования.
Если собирать всё это самому не хочется, занятия с преподавателем возьмут настройку и темп на себя. Вы можете записаться на бесплатный пробный урок и посмотреть, подходит ли такой подход вашему ребёнку, или полистать платы и наборы в магазине, если сначала хочется повозиться дома. В любом случае ценность MicroPython одна и та же: это настоящее программирование, оно отвечает мгновенно, и ничто из выученного не пропадёт, когда ваш ребёнок двинется дальше.



