Как только появились первые машины, облегчающие труд человека, так сразу же у них появились как сторонники, так и противники. Компьютеры и робототехника не стали исключением. И споры о том, стоит ли всецело полагаться на компьютер или надо учить «по старинке» не утихают до сих пор.

Программирование, изначально было уделом математиков и требовало умозрительной разработки алгоритмов и ручной подготовки кода и последующего его переноса в вычислительные блоки сначала через панели переключателей, затем через устройства «пробивания» перфокарт и перфолент, а позже вводом двоичных кодов с терминалов. Затем оно переросло в подсказывающий уже целые участки кода искусственный интеллект, создание программ вообще без кода, за счет соединения визуальных функциональных блоков, и в другие методы, которые часто вообще не требуют от человек не то что знания языка программирования, но и самих алгоритмов.

Робототехнику из науки, сопрягающей в себе механику, детали машин, электрику и электронику и информатику, современные стартапы «опускают» до уровня знаний простых рабочих, которым теперь достаточно показать роботу, что ему нужно сделать, а остальное (в том числе и программу) создаст искусственный интеллект. И все это внушает опасение, что поколение за поколением человечество скатиться до уровня, хорошо показанном в комедии «Идиократия».

Мы же поговорим об обучении программированию и робототехнике детей. А также о том, какие доводы приводятся поклонниками «машиннного» и «безмашинного» обучения.

Contra

Начнем со сторонников «машинного» обучения. К ним относятся разработчики различных сред программирования типа Scratch или MakeCode Arcade, онлайн-курсов, игровых программных продуктов. Это также разработчики роботов и микроконтроллеров для детей, завязанных на программное взаимодействие с железом через создание игр или предлагающие рассматривать робота как готового изделия с набором датчиков и двигателей, который нужно запрограммировать установкой готового блока кода.

Make Code Arcade позволяет создать игру для виртуальной игровой консоли

Они приводят следующие доводы:

  1. Современные дети «рождаются» с гаджетами и «живут» ими, и они привыкли все время проводить перед экраном, и получать информацию оттуда. Смена метода ее получения вызывает у детей стресс, поэтому им надо давать информацию в понятной и привычной детям форме, замещая развлекательный контент обучающим.

  2. Многим современным детям сложно и даже не интересно заниматься механической работой по сборке чего-либо. У многих детей дошкольного и младшего школьного возраста есть проблемы с мелкой моторикой, и они не успевают ничего собирать или конструировать в учебное время.

  3. «Физические» наборы для программирования или конструирования дорогие, дети теряют детали и компоненты или ломают их. Это очень затратно, особенно для домашнего обучения, в отличие от онлайн-платформ или обучения только за компьютером/планшетом.

  4. Большое число детей с признаками аутизма и проблемами социализации не позволяет использовать безмашинные методы, которые часто требуют прямого взаимодействия детей между собой и с учителем, навыков договариваться и работать в команде или даже физического контакта.

  5. Мы живем в эпоху развитой компьютерной техники и использовать «безмашинные» методы, составляя на листочках алгоритмы или используя бумажные справочники для языков программирования — это архаизм.

Pro

Противоположная сторона не так категорична и часто не отказывается от «машинных» методов, предлагая сочетать как работу за вычислительными устройствами, так и занятия без них. Но упор делается на безмашинные методы и доводы приводятся другого вида:

  1. Дети «перегружены» гаджетами, которые вышли на уровень восприятия «бытовой техники». Из-за этого у многих теряется интерес к программированию и робототехнике, так как они не понимают для чего это нужно. Не будете же вы программировать микроволновку?

  2. Есть гигиенические нормы работы за компьютером и смартфоном, которые часто не выполняются в повседневной жизни. А многие родители вообще были бы рады оторвать ребенка от экранов мониторов и переключить их на что-то менее нагружающее зрение.

  3. Чрезмерное увлечение компьютерами и смартфонами ребенка, особенно дошкольника или младшего школьника – это зависимость, которую надо лечить. Не зря во многих странах есть запреты на доступ в те же соцсети до 12-13 лет.

  4. Используя только компьютер, средства помощи при написании кода и наличие огромного числа готовых примеров, дети разучились предварительно представлять себе, что они собираются запрограммировать, не хотят учить основы языков программирования, вникать в те или иные особенности кода. В случае робототехники дети не понимают принципов механики роботов, расположения и движения в пространстве, не понимают связи между программной, электрической и механической частей внутри робота.

  5. Безмашинные методы обучения позволяют социализировать детей, дать им возможность общения друг-с-другом, работы в команде. А так как они часто построены в игровой подвижной форме, то позволяют детям снимать напряжение за счет переключения вида деятельности, а следовательно, больше времени уделять изучаемому предмету и меньше уставать.

  6. Во взрослой деятельности до написания программного кода идут этапы, обычно не требующие применения непосредственно компьютера (разработка ТЗ, проработка информационной схемы, исследование области применения, другие научно-исследовательские работы).

Если с «машинными» методами обучения все достаточно понятно, то про безмашинные многие родители и преподаватели не слышали. Часто приходится слышать, что это что-то скучное и устаревшее, типа Школьного алгоритмического языка или рисовании блок-схем на листочках после записи текста урока под диктовку из учебника. Но это не так.

Ярким примером служит проект CS Unplugged, разработанный Тимом Беллом и его соратниками в Университете Кентербери (Новая Зеландия) и в настоящий момент представляющий собой международный открытый проект по изучению компьютерных наук без компьютера. Он поддержан Google и Microsoft и успешно развивается вот уже более 10 лет.

Идея проекта: изучать разделы информатики в игровой форме, без необходимости использования компьютер. К примеру, изучение двоичного кодирования происходит с помощью карточек, на которых на одной стороне точками отмечены степени двойки, а вторая сторона закрашена в темный цвет («выключена»). Ученики становятся в ряд в порядке следования битов от младшего (с карточкой с одной точкой) до старшего (64 или 128 точек).

Дети - биты числа

Переворачивая те или иные карточки, дети играют роль дисплея двоичной системы, а учитель объясняет логическую связь между наличием (включением) определенного бита в числе и переводом в десятичную форму.

Переводим число 01001

Автор статьи сам использует подобную методику (даже со студентами), объясняя, как быстро перевести число из двоичной в десятичную систему.

В другом примере, при изучении кодировании и битов четности, авторы CS Unplugged предлагают показать … фокус с карточками с черной и белой сторонами (значения 0 и 1), разложенными в виде таблицы 5x5. Учитель добавляет по ряду и столбу карточек-битов четности, руководствуясь числом четных единиц в рядах и столбцах, а потом просит учеников перевернуть одну карточку так, чтобы он этого не видел. Это пример «сбоя» передачи информации и учитель легко находит в каком бите он произошел.

Вы можете сами скачать и посмотреть существующие примеры, а также свободно их использовать на уроках. Некоторые из них даже переведены на русский язык.

Следующим примером служит изучение алгоритмов и робототехники через Исполнителей. Но не привычной нам Черепашки из Logo, а в виде настольных игр.

Та же Черепашка «переползла» в картонный мир в виде игры Robot Turtles, где детям нужно собирать алмазы, программируя бумажными карточками-командами одну из четырех роботов-черепах.

Robot Turtles придумал программист Google Дэн Шапиро, собрал средства на издание на Кикстартер, а затем успешно продал игру компании ThinkFun

В России была разработана серия алгоритмических игр «Битва Големов», в которой детям предлагается программировать боевых роботов и устраивать баталии на создаваемых ими самими аренах. В отличие от рассчитанной на дошкольников Robot Turtles, в «Битве Големов» игрокам постарше (от 7–8  лет) доступны уже подпрограммы, циклы и условия. А интересно играть в нее будет не только детям, но и взрослым. Последняя версия игры была выпущена в стиле блочного языка программирования Scratch.

Отечественный ответ обучающим программированию зарубежным играм

Существуют и другие настольные игры, обучающие, например программированию на Python или Java, погружающие детей в мир логики или искусственного интеллекта, а также затрагивающие не только программирование, но и электрическую часть роботов.

От настольных «исполнителей» прямая дорога к реальным. В Зеленограде на базе правил игры «Битва Големов» придумали устраивать битвы, где в качестве роботов выступают сами дети. Игра проходит на импровизированном поле, детям выдаются щиты и мечи, а программу им задают с помощью огромных карт команд.

Дети - Исполнители

В робототехнике очень важно также «уйти» от готовых конструкций и дать детям возможность самостоятельно разобраться как с механической, так и электронной составляющими. Здесь «безмашинное» обучение подразумевает работу над роботом и его программой через умственное моделирование своих действий. Например «на листочке» просчитывается будущее поле действия робота и его исполнительных устройств, производятся измерения необходимых перемещений или расположения препятствий и пошагово прописывается требуемый алгоритм, и выполняются нужные расчёты, в том числе и математические.

Да, можно обойтись тем же программным моделированием или просто методом проб и ошибок пытаться раз за разом изменять программу и запускать робота на поле, при этом постоянно изменяя его конструкцию, но…. Лучше следовать принципам «взрослого» конструирования, где сборка робота и написание программы идут только после выполнения проектировочной части. Это сэкономит и время, которого на уроках не так уж много, и спасет нервы как детей, так и преподавателей.

Если вам интересно узнать подробнее о настольных играх для юных программистов и робототехников, или о том же CS Unplugged, или с помощью каких методов мы в RoboUniver обучаем основам логики, техническому творчеству, алгоритмике, проектному мышлению и командной работе, включая туда физику, математику и другие науки, то напишите в комментариях. Мы с радостью расскажем об этом в нашем блоге.

Читателям Хабра мы также дарим скидку 2000 рублей на абонемент для занятий по промокоду HABR2022.