4 февраля 2020
Игрушки для обучения программированию
Алексей Подболотов
Читатели возрастной категории «около 30», возможно, помнят школьные уроки информатики, где программирование (если оно вообще было) преподавалось на допотопных языках, вроде Basic и Pascal. Люди постарше, возможно, даже вспомнят языки «Алгол» и «Рапира». И если с последними вроде бы уже никто не сталкивается, то вот «Паскаль» де-факто до сих пор является самым популярным языком для обучения детей программированию в школах, несмотря на его возраст – ровно 50 лет. И «Бейсик», который на пару лет старше, встречается, хоть и реже. Да, в современной системе образования есть подвижки, и в некоторых школах в качестве учебного языка преподают что-то более современное, тот же Python, например. Но таких примеров катастрофически мало.
И казалось бы, что в этом плохого? Ведь детишки должны научиться алгоритмированию, а не созданию прикладных программных продуктов. Это как сравнивать основы физики с сопроматом. Однако, есть между этими науками есть различие. За весь процесс обучения в школе физика как наука не меняется (ну, почти), а вот в разработке ПО появляется что-то новое чуть ли не каждую неделю. И ученики, ни разу не сталкивавшиеся с современным воплощением программирования, не могут сразу применить свои знания на практике. Будь они хоть трижды победителями школьных олимпиад по информатике. И вот тут им, а особенно их родителям, на помощь приходят различные дополнительные кружки по программированию, секции по робототехнике, приложения и игрушки для самостоятельного обучения кодингу. В обиходе их еще называют STEM-игрушки, хотя это довольно обширное понятие, включающее в себя и всякие естественно-научные штуки.
Sphero Bolt
В статье про гаджеты для фанатов Star Wars я уже упомянул пластиковых «колобков» Sphero, управляемых со смартфона. Это отличные игрушки как для детей, так и для взрослых, и даже для их домашних питомцев.
Но в Sphero решили, что фокус на простой «развлекухе» и бесцельных играх не приведут компанию в долгосрочной перспективе к хорошим бизнес-показателям, потому что игрушкам свойственно надоедать. А вот обучение и контракты с образовательными учреждениями – дело совершенно другое. Подумали, да и сделали одного из своих «колобков» прозрачным (чтобы было видно внутреннее устройство), и поддающимся дрессировке, то бишь программированию. Модель назвали SPRK и начали договариваться с различными школами и кружками о том, чтобы дети учились программированию и азам робототехники на этих устройствах. После этого была модель SPRK+, а самым последним творением американской компании стала модель Bolt.
И надо сказать, роботы получились весьма неплохим именно с образовательной точки зрения. Прозрачный дизайн (у них даже зарядка прозрачная!) действительно может наглядно показать внутреннее устройство игрушки без необходимости её разбора. У версии Bolt, по сравнению со старыми, добавились дополнительные датчики (ИК, датчик света, магнитный датчик) и светодиодный матричный дисплей внутри. Но все-таки главное преимущество здесь в фирменном приложении Sphero Edu – оно позволяет юным программистам составлять простейший «код» на визуальном языке Scratch, а также писать настоящий код на очень распространенном языке Javascript. Владельцам устройств на iOS также доступно приложение Swift Playgrounds, в котором можно писать программы для этого робота на «фирменном» языке Apple – Swift.
Поле для возможностей здесь довольно обширное. Благодаря богатому набору датчиков и возможности двигаться абсолютно в любом направлении на плоскости, роботы Sphero являются отличным первым шагом для дальнейшего освоения инструментов с ЧПУ (числовым программным управлением): станков, граверов, 3Д-принтеров, и так далее. Для старта в проектировании беспилотного наземного транспорта подобный опыт тоже будет полезен. А если у вас есть несколько Bolt, то вы можете научить их «общаться» посредством ИК-излучателя и приемника. Да и встроенный экранчик не будет лишним – на него можно выводить интересную анимацию и соотносить ее с движением, что уже создает задачу для юных проектировщиков интерфейсов. Кстати, к телефону устройство подключается по Bluetooth, здесь ничего нового.
Игрушку можно официально купить в России у некоторых крупных ритейлеров, и даже в онлайн-магазине Apple. Но если хочется сэкономить, то лучше все-таки приобрести его на площадке Amazon – с доставкой в Россию такой обойдется около 10 тысяч рублей. К слову, роботы BB-8, BB-9E и R2D2 из прошлой подборки про Star Wars тоже совместимы с приложением Sphero Edu, хоть и имеют меньше возможностей по программированию.
Управляемые модели LEGO
А еще в той же подборке мы рассмотрели набор LEGO, тоже посвященный Звездным Войнам. Этот набор, как и другие из линейки Boost, позволяет собирать различные движущиеся модели роботов, машин и даже гитару. Этими моделями можно управлять со смартфона, и даже программировать их на выполнение простейших задач, предусмотренных конкретной моделью. В качестве языка программирования здесь используется несложный графический интерфейс, позволяющий разобраться с ним даже первоклашке. Приобрести такой можно по цене около 10 тысяч рублей, и если у ребенка пока нет потребности к изучению «настоящего» программирования, то подобные наборы станут отличным подарком.
Но если простейшие задачки для незамысловатых роботов вашему ребенку уже не подходят, то у LEGO есть более подходящая серия – Mindstorms. Это название известно, пожалуй, любому уважающему себя гику, и вполне возможно, что при покупке такого набора играть им чаще всего будет именно родитель, а не ребенок.
Текущее поколение этой серии имеет название EV3, и хотя изначально он поставляется как набор для сборки конкретного робота, здесь на самом деле нет никаких ограничений. Свобода, как в обычном LEGO, только с «умным» функционалом : хочешь, строй железную дорогу с поездами, идущими по расписанию, а хочешь – бульдозер, автоматически собирающий в кучу все предметы, что он видит на полу. Или ходячую собачку, наподобие Sony Aibo. Или еще что угодно – конструктора здесь ограничивает только воображение и количество деталек. К слову, детальки здесь совместимы с «обычным» LEGO, так что не обязательно покупать каждый раз такие наборы для создания больших конструкций.
«Сердцем» всей этой роботизированной истории выступает специальный модуль EV3 с монохромным экранчиком и кнопками. Он поддерживает подключение множества датчиков (света, расстояния, ИК-приемника, гироскопа, цветового сенсора), а также моторов, сервомоторов и органов управления. Для этого он имеет по четыре порта ввода (считывают до 1000 показаний в секунду) и вывода информации. Он имеет 64 МБ оперативной памяти и 16 МБ встроенного хранилища. работает на базе ARM-процессора и видоизмененного дистрибутива Linux, что создает просто колоссальные возможности программирования. Для удобства блок подключается к ПК по кабелю USB, но так называемые «скетчи» или микропрограммы можно закидывать карту памяти microSD, которую процессорный блок считает. Есть здесь и USB-подключение для соединения нескольких EV3 в сеть, а также для установки модулей Wi-Fi и Bluetooth. Диапазон языков программирования здесь не так уж огромен, но выбрать есть из чего: NQC и RobotC (на основе языка С), Monobrick (C#), Coderz и LeJOS (Java), LabView и снова Swift. Для совсем ленивых здесь предусмотрены и приложения на все основные платформы.
И лишь цена наверняка расстроит всех тех, кто уже загорелся идеей покупки инженерно-программистского рая. В зависимости от места покупки, набор может обойтись в 22-25 тысяч рублей. К чести датчан, они не взвинчивают цены на российском рынке, и в отечественной рознице эти наборы Lego порой можно найти даже дешевле. На крупных американских распродажах (Черная пятница, Рождество, День независимости) на этот набор тоже бывают солидные скидки, однако все это не отменяет того факта, что это все равно очень дорогая игрушка.
Raspberry Pi
Ну и для совсем уж взрослых испытателей электроники можно посоветовать одну из самых лучших платформ для создания практически чего угодно. Хотите домашний сервер, скачивающий по вашему указанию файлы с (кхе-кхе) файлообменных сайтов? Пожалуйста. Елочную гирлянду, которая может пропеть и написать буквами «С новым Годом»? Получите и распишитесь. Игровую приставку, на которой можно запустить как игры Nintendo/Dendy и Sega, так и совсем уж олдскульные Commodore и Atari? Да запросто! Универсальную Wi-Fi колонку для всех стриминговых сервисов? Ну вы поняли.
Благодаря огромной распространенности и дешевизне, одноплатный компьютер «малинка» (так переводится слово Raspberry) в своей третьей версии стал уже чуть ли не символом современного самодельщика, наряду со схожим (но менее мощным) компьютером Arduino. На нее существует куча различных дистрибутивов операционных систем, скетчей, программ и многого-много прочего, что потянет на несколько немалых статей. Главное – лишь бы была фантазия и желание рукоделить. А уж в интернете наверняка найдется парочка-другая пошаговых гайдов для вашей цели. Кстати, о стоимости. В отличие от предыдущего мини-компьютера с обвязкой из многочисленных кусочков пластика, компьютеры Rspberry Pi имеют довольно демократичный ценник. Понятно что для полноценного творчества вам одного лишь компьютера не хватит, но все же официальная цена за одну плату около 3,5 тысяч рублей (с доставкой в РФ) даже с дополнительными тратами запросто уложит компьютер от LEGO «на лопатки». К слову, четвертая версия (около 4,5 тысяч рублей) вышла относительно недавно, и поэтому не получила еще пока такого широкого распространения. Её преимущества пока избыточны для большинства любительских проектов, но работать она будет все же пошустрее.
К тому же, на Raspberry существуют и неофициальные «клоны» по еще более привлекательным ценам, например – Orange Pi. Приобрести это поделие китайских инженеров (кстати, весьма неплохое по качеству), можно в районе полторы тысячи рублей с доставкой в Россию. При этом, большинство софта, написанного под «малинку», отлично работает и на «апельсинке».
Fisher Price Code-a-Pillar
Небольшое отступление в конце, посвященное тем, кто в силу возраста пока тянет только на звание «погромиста», а не программиста. Развивающая игрушка от американской компании Fisher Price представляет из себя гусеницу, голова которой является основным движущим элементом. Присоединяя к ней «хвостовые» элементы, ребенок может заставлять её делать определенные действия: повернуть в нужную сторону, развернуться, включить свет, сыграть музыку определенного настроения, или воспроизвести звук. Каждая команда выполняется по очереди, от головы до хвоста. И как только гусеница выполнит все упражнения, она сыграет радостную мелодию.
Сегменты присоединяются друг к другу с помощью удобного разъема, при этом собрано все неплохо и явно рассчитано на детишек самого маленького возраста. Первокласснику такая штука быстро надоест, поэтому самым подходящим возрастом для этой гусеницы будет 3-5 лет. Благо тут речь идет как раз-таки не о программировании как таковом, а об умении создавать алгоритмы и заставлять игрушку двигаться по своему желанию.
Покупка такой гусеницы на Amazon обойдется в сумму около шести тысяч рублей с доставкой в РФ.
Заключение, или немного о здравом смысле
Словосочетание «войти в айти» уже успело стать мемом. Модные профессии, связанные с разработкой, пытаются освоить все: и стар, и млад. И когда у взрослых не получается стать программистом или дизайнером интерфейсов, они направляют свои усилия на то, чтобы уж хотя бы их дитятко в этой области преуспело.
Зачастую родители ведут своих детей в подобные кружки, даже не задумываясь о том, а нужно ли это ребенку, и хочет ли он этого. Как заведенные, они твердят мантры о том, что «у программистов зарплаты высокие» и «за этим будущее». Люди с более широким кругозором даже приводят в пример слова Стива Джобса о том, что каждый человек должен учиться программированию, чтобы научиться «думать». Да вот только эти люди не вспоминают, что Стив сказал сразу после: «Это как учиться юриспруденции. Не все люди после этого должны становиться юристами, но это учит вас думать по-особенному». И да, многие знают, что из «двух Стивов» (Джобс и Возняк) как раз-таки Джобс был не силен в программировании. Что не помешало ему стать значимой персоной.
Разработка софта – очень важный аспект современной жизни, и сфера IT все еще испытывает голод кадров, но это вовсе не значит, что все дети мира лишь по этим причинам должны в раз стать программистами. Может показаться, что этим заключением я перечеркиваю полезность всех вышеописанных устройств и сервисов, но это не так. Я не пытаюсь никого отговорить от подготовки ребенка к той или иной специальности. Но не стоит забывать и о том, что у ребенка могут быть свои способности и наклонности, и склонять его насильно к тому, что он не любит, определенно не стоит. В долгосрочной перспективе эта тактика все равно будет проигрышной, причем как для выросшего из него взрослого, так и для всего окружающего его социума. Ну а если ребенок действительно проявляет интерес к тому, как работают программы и роботы, то в нынешнее время выбор инструментов для погружения в эти сферы просто огромен. И возможно, что какие-то из рассмотренных сегодня помогут ему в этом.
Вот BIOS-ы писать, вот это тема, жаль не умею.
В секции
написания БИОСоввыжигания по дереву требуется преподаватель, ученики и смысл.Смысл — постоянная занятость с большим доходом в крупной компании. Программисты будут в драных шортах ходить, а ты в белом смокинге. ?
Классный профессионал в любой области = занятость с доходом в крупной компании. Причем в популярных областях, более вероятно, чем среди нескольких сотен людей в мире, имеющих описанное в области биосо-строения.
Если уж упомянули Raspberry Pi, то и Arduino сюда же, как наиболее бюджетный вариант для таких целей: порог затрат менее 1000р. при типовом наборе из контроллера, десятка модулей и пучка проводов.
есть мельком про ардуино
Только то, что Raspberry Pi схож с «менее мощным компьютером Arduino»? 🙂
Arduino — компьютер? Серьезно? :))))
Фразу «одноплатный компьютер» слышали когда-нибудь?
Да, конечно. А ещё я слышал фразу «аппаратная платформа». Малинка это стандартный по архитектуре полноценный комп с возможностью подключить периферию, накопители, установить ОС. Ардуино это платформа без полноценных компонентов в/в, к которой через стандартизованные разъёмы (или без них) всё остальное можно подключить (а можно и не подключать).
То есть, вы хотите сказать, что у Ардуино нет процессора, ОЗУ, хранилища и возможности установить ОС? Если да, то у меня для вас плохие новости.
Если нет, то почему это не может называться «компьютер»? Для каких бы он целей не существовал, хоть для встраивания в микроволновку, хоть для создания беспилотного авто. Если вам не нравится формулировка «компьютер», потому что перед глазами непременно предстает ПК или ноутбук, то ведь это тоже неверно.
Калькулятор тогда тоже «компьютер»? А что, проц есть, ОЗУ есть, даже клавиатура с экраном 🙂
На принципиальную разницу не тянет. Хотя различие между целевыми нишами и аппаратной реализацией есть. Процессор общего назначения против микроконтроллера. Что не мешает обоим быть
компьютерамивычислителями. Как минимум, на популярном уровне данной статьи.И точно менее «преступно», чем везде упоминать искусственный ажно Интеллект и TFT экраны))
Ну, уж тогда паровоз это автомобиль :)))
Нет, уж)) Тогда уж, паровоз это транспорт.
В любом случае, что есть компьютер, вопрос как минимум дискуссионный, а как максимум — холиварный. 🙂
На Али со счету сбиться можно от количества этих наборов. Клонов Лего — вагон, даже от Сяоми. Самое удобное, что мне приглянулось BBC Micro:bit (говорят для британских школьников бесплатный). И что интересно, года три назад со старшим сыном пытался слепить на базе машины Лего Техник управляемую модель с Ардуиновскими модулями. Основная проблема была в размещении всего этого Ардуиновского добра на леговских деталях, приходилось клеить-скручивать-нарезиночках и пр. Теперь гении китайской инженерии поняли суть и не стали выдумывать велосипед, много чего сразу имеет крепеж для Лего, причем не только классик, но и на Дупло. И вот Дупло для меня вообще самое оно то.
Для более-менее взрослых, 12-14+, лучше обучаться не игрушками, а хоть с какой-то практической пользой. Для начала сойдут банальные электронные таблицы. Потом REPL любого из языков. Те же userScript могут быть очень полезными. А одноплатники, уже не обучение основам, а реализация задачи состоявшимся юниором, с пониманием что как и зачем.
Удивлен, что нет ни одного примера обучающих игр и приложений, хотя они заявлены в названии. Примеры таких можно найти на Хабре:
12 игр, которые обучают детей программированию.
20 игр, чтобы научить ребёнка программированию.
Игры и приложения планировались в начале, но из готового материала были убраны. Возможно, в следующий раз коснусь и их.
Где то встречал фразу, что ребенка нельзя заставить программировать в 5 лет, а в 12-15 он сам попросит. Со мной и с моим старшим ребенком так и случилось, так что просто жду, пока младший созреет.
да чего вы нашли в этом программировании, ваще не понятно
Кто читал этот рассказ, поймет))
В смысле Каттнера, а не кэррол?
Да) Я этот рассказ прочёл в нежном возрасте и с тех пор он и «Долгий джонт» Кинга навсегда въелись в память как два образчика НФ-хоррора с философской подоплекой. Помню, я уже тогда прифигел с идеи киплинговского Маугли, радикализированной с учётом научно-фантастических мотивов первой половины ХХ века – что произойдет, если человеческий детеныш будет воспитан более развитой формой жизни, чем Homo Sapiens? И ответ до ужаса прост — если Маугли и Тарзан смогли забраться на ступеньку повыше, просто социализировавшись, то герои этого рассказа просто отряхнли пыль человечности, став чем-то непоправимо иным… А сюжетный ход, при котором воспитывающим субъектом оказались обычные детские игрушки, только придал рассказу некую пикантность.
Я тоже читал его много лет назад, хоть и не в нежном возрасте, но идея в памяти отложилась очень хорошо. А Вы знаете, что этот рассказ (хотя, я всегда настаиваю, что это повесть) был экранизирован? Фильм детский, но по-моему, для своей категории, не плох.
Не-а. Не знаю. Как называется?
The last Mindy.
А ещё, есть сериал The OA, который напомнил мне эту повесть. Есть там что-то схожее.
Спасибо! Гляну.
Удивительное — рядом 🙂 На языке, который разработан специально для обучения, продолжают обучать.
Так-то там тот же самый Scratch под капотом. Вместо приложения LEGO Boost подключаете его к приложению LEGO Powered UP — и возможности значительно расширяются.
А для совсем «матёрых» — https://magpi.raspberrypi.org/articles/hack-lego-boost-with-raspberry-pi
И добро пожаловать в Python.