Lego-робототехника для школьников: интервью с Антоном Плахотником
Помню, в счастливом советском детстве, не обременённом всякими гуглами и айпадами, периодически по “ящику” проскакивали отрывки японских телепередач — состязаний по робототехнике. Конечно, было далеко не то, о чем писал Азимов — конструкции на колесах ездили по дорожкам и “сражались” на ринге, толкая друг друга. Тем не менее, выглядело это все исключительной фантастикой, и я в те времена, ей-богу, душу продал бы за такого игрушечного робота. И до недавнего времени и не подозревал, что в Киеве подобные вещи уже не в диковинку — есть, к примеру, кружок Lego-робототехники в небезызвестной
— Расскажи, как возникла сама идея кружка робототехники?
— Идея появилась довольно внезапно, неожиданно и незапланированно. И начиналась она совсем не с робототехники. Я пришёл в школу и хотел преподавать программирование... Скорее даже я не хотел преподавать программирование, я просто хотел, чтобы около меня было несколько ребят, крутых чуваков, которые будут чего-то хотеть писать, чтобы мы вместе с ними что-нибудь творили. “Крутые чуваки”, которые постарше — они либо недостаточно крутые, либо они уже при делах и у них нет времени.
И у меня был коварный план: я помнил себя школьником, как мне было всё интересно, как я был на всё готов — думаю, я сейчас приду, там будет толпа таких детей, я возьму себе троих-четверых, научу их всему, чему надо, и нам будет хорошо. Пришел я в школу... Оказалось, что там таких не очень много, и учатся они не так быстро, и интересно им не настолько, в общем, это была та ещё проблема. Но всё же несколько интересных человек там было. И так я там проработал где-то полтора года. А потом один из преподавателей физики, Розенвайн Алексей Григорьевич (он у меня физику преподавал, так что мы с ним знакомы довольно хорошо) мне говорит: “Антон, ты там что-то программируешь... А хочешь робототехнику повести?” Надо было приложить определённые усилия, чтобы это всё стартовало, но с помощью директора и еще каких-то людей школа профинансировала покупку роботов, и оно всё завертелось.
— А как ты в педагогику вообще попал? Расскажи немножко о своей биографии.
— Ну вот сейчас я работаю преподавателем в школе, преподаю спецкурс по программированию и Lego-робототехнику, кроме этого пишу околомузыкальные shareware-программы.
Ещё до этого я работал во всяких разных программистских конторах — одна из последних Materialise. Был этим очень недоволен, меня не радовал этот корпоративный дух, так сказать. Меня сильно угнетало то, что качество программ, старание и отличные качества людей, работающих в конторе, не имеют никакого значения, а это было как раз то, во что я вкладывался, когда учился. Получилось, что я старался, старался, теперь это никому не надо и меня это угнетало. Некоторое время я искал место, где я могу это как-то реализовывать с пользой. В том же Materialise, когда я или другие коллеги пытались что-то сделать хорошо, то это вызывало у начальства такую реакцию — “Что вы делаете?! Остановитесь! Сделайте как обычно!”. И где-то года полтора, после того, как я ушел из Materialise, я искал контору своей мечты. Подавал резюме везде, где только мог, меня брали, и потом я делал то, что считал правильным (с учетом местных правил, чтоб не нарушать их) и смотрел, за сколько меня уволят. Если не уволили — значит, классно, это и есть контора моей мечты.
Окончательно понял, что происходит и почему, когда устраивался за сравнительно небольшие деньги в провинциальную контору в городе Александрия, около Кривого Рога, есть там местечко такое с населением 100 тыс. человек. Там была контора, производящая упаковщики всякие разные, большие такие агрегаты. Они тоже меня с радостью взяли, потому что я такой весь позитивный, с большим опытом. Прихожу туда, а у них там промышленный серийный контроллер, внутри которого работает обычный MS DOS под x86 процессор. Они под это дело пишут в Turbo C 1991 года и не отлаживают вообще. Ни юнит-тестов, ни логов, они просто пишут и запускают. Иногда оно у них там скукоживается при этом, потому что моторы мощные. Но у них там есть главный инженер-программист, он вот в этом всем варится — сколько у него стажа рабочего есть, столько он в этом варится, лет 5 он занимался только этими агрегатами.
Я им говорю: смотрите, тут есть такие вещи, здесь можно вот так и вот так и вообще все, что у вас здесь делает три человека, это может делать один и гораздо быстрее. Через 6 часов после того, как я это сказал, я был уже дома, в Киеве. И пока я ехал домой, понял, как для них в этом провинциальном городке звучат слова: “Это может сделать не три человека, а один”.
К слову, если вы хотите узнать цены на продажу матрасов, тогда в этом вам поможет сайт anatomiyasna.ru.
И потом до меня дошло, что контора моей мечты — это “сам себе”. Тогда я отчаялся насчет конторы своей мечты, уже тогда у меня были какие-то “шароварки” свои и вообще денег хватало, чтобы год или полтора жить и не париться за деньги, если не особо тратиться. И я думаю: “Ну вот, в самый раз пойти поработать в школу”.
— А где учился?
— Радиофизический факультет в универе Шевченко, а до этого
— Детям сложнее объяснять чем взрослым?
Да, оказалось, что преподавать
Это оказалось не так-то просто. В первый год у меня где-то из 8 человек в группе двое-трое действительно сами программировали, им можно было дать задачу (описать ее словами), и они ее как-то решали. Остальные реально сами не программировали, они могли запомнить что-то и попытаться потыкать что-то по аналогии, и иногда у них получалось. Но если ученик не может программировать — это же Lego, всегда можно конструировать! Я выкручивался тем, что часть детей программировала, часть строила. Я тогда придумал несколько лекций по построению моделей — как анализировать прочность, и они строили уже осмысленно. Двое-трое программируют, двое-трое строят — уже 6 из 8 работают, и хорошо.
А потом (сейчас это кажется очевидным) я открыл для себя — оказывается, некоторые люди думают и представляют совсем не так, как я! И поэтому, когда я им говорю какие-то слова, у них в голове возникают какие-то совершенно другие штуки. И если у меня потом всё получается складно и понятно, то у них — нет. На то время это было одно из величайших моих открытий. И надо сказать большое спасибо этим ученикам, на которых это открытие было сделано... в общем, я им что-то должен за это. Мы с ними сидели прямо на уроках, и вместо того, чтобы заниматься робототехникой, я им что-то описывал и пытался понять, как они это представляют. Так я постепенно понимал, как они представляют... Потом я разобрался, понял, научился тоже так представлять и уже, исходя из этого начал строить свою новую методику преподавания программирования...
— Пользуясь детскими “абстракциями”?
— Да, рассчитывая на их способ восприятия. И когда я только пришел в школу, мне учитель программирования, он же завуч, Любомир Атанасийович, когда мы с ним обсуждали, каких детей можно ко мне на спецкурс завлечь, говорил: “ну, восьмой-девятый класс, им программирование не пойдет. У них еще нет абстрактного мышления. Это нереально, хотя можно, конечно, попытаться. Десятые-одиннадцатые... ну, у
— На чём работаете?
— В основном, в визуальной среде, т.е. что-то вроде блок-схем. Но некоторые программируют на C, вернее ROBOTC. Таких у меня трое-четверо. Две девочки программируют, уже в этом году они сами себе придумали задачу, описали ее словами, пошли и сделали. На C. Я был очень доволен.
— А как примерно робот устроен?
— По своей “природе” эта штука подобна мобильному телефону, у нее есть порты, в которые она может отдавать достаточно электричества, чтоб моторы крутились. В управляющем блоке виртуальная машина, под которую есть компилятор на C и визуальный редактор.
Ещё робот умеет с портов читать и у него есть в комплекте несколько разных датчиков. Он умеет управлять моторами, у него есть 4 датчика — расстояние, свет, звук и кнопка. С этим всем можно что-то делать. Вот, например, задача — поддерживать расстояние до руки (демонстрирует) — я удаляю руку, а он придвигается.
Вот такого плана программы дети и пишут, это одна из самых простых. Девочки вот сделали такое: они взяли датчик света и закрывали-открывали его рукой, а компьютер должен был посчитать, сколько раз они это сделали. Вроде бы несложно, программа получилась у них на одну страницу, но они ее полностью сами написали! На C.
— А по части прибыли как? Человек, который ушёл из разработки в преподавание — явление исключительное, как-то всё больше обратный процесс наблюдается. Или “для души” важнее?
— Да, преподавание менее прибыльно, т.е. у меня доход от 4 до 6 тыс. грн. (в среднем). В этом году будет больше, я набрал больше учеников. Когда я работал в Materialise в 2006 или
— А каковы перспективы твоих кружков? Пока это только, насколько я понимаю, в
— Уже не совсем. В этом году я начал поднимать ещё одну точку, договорился в “Дивосвіте” и открыл там еще одно место, куда можно приходить по пятницам. В основном, да, в
Перспективы? У меня были мысли еще кого-то из моих друзей туда втянуть, тоже преподавать Lego и как-то расширяться. Для детей Lego в моем исполнении полезно не столько программированием, сколько тем, что я от них требую, именно настаиваю, чтобы они формулировали чётко задачу, которую они выполняют, а не просто игрались. Чтобы они называли вещи своими именами — не “штучка”, а датчик расстояния. Чтобы они как-то общались не только со мной, но еще и с друг другом. Это было новшество этого года, еще не могу оценить, насколько хорошо оно пошло. Т.е. я настаиваю на том, чтобы перед тем, как задать вопрос какой-то мне, чтобы они его задали другим ученикам и попытались его решить усилиями других учеников. И оказывается, что объяснить Антону Владимировичу легко, а объяснить Пете Табуреткину не так легко — он не понимает. Он и подсказать-то, не факт, что сможет, но он и вопрос не понимает. И в общем, чтобы у детей вырабатывалось ощущение того, что не все думают в точности, как они, поэтому надо объяснять понятными словами. Вырабатывать способность формулировать вопросы, способность внятно давать ответы, способность общаться с людьми, которые себе представляют все как-то по-другому, понимание того, что человек работает не просто так, а над какой-то конкретной задачей с какой-то конкретной целью. Это, мне кажется, будет им полезно не только в программировании.
Краем уха услышал, как эти юные леди между собой обсуждали различия синтаксиса Python и С++. Прослезился от умиления...
Ну и сама по себе методика программирования, с которой я начал, заключается в том, что я им рассказываю, как представлять программы, какие воображаемые штуки надо представлять, как они между собой взаимодействуют и как это связано с реальным роботом. И сейчас, в этом году, у меня из
— Робот же не оперирует никакими серьёзными структурами данных?
— Да, он очень простой, но для детей недостаточно просто сказать, что “инструкции выполняются последовательно” — ты это говоришь, а ребенок слышит: “Бла, бла, бла”. Потому что для него все три слова непонятны. А когда говоришь: “Вот это — означает включить мотор, а это означает подать звук, а теперь представьте, что вот здесь появляется точечка, она двигается, заходит сюда, включает то, выходит, потом заходит сюда”. Определённая доля людей, порядка 1%, может даже меньше, додумались до этой воображаемой точки сами, поэтому у нас программистов только один процент. Оказалось, что если им это рассказать, то они представляют, решают задачу, программируют. Обычно если они могут представить у себя, как он может двигаться, т.е. предугадывать его действия, то дальше программу они уже напишут, и поэтому первые несколько занятий заключаются в том, что я их учу представлять. И получается.
— Мотивация есть, детям интересно учиться?
— У них занятия вызывают буйный восторг, скорее всего, потому, что в школе от них требуют запоминать. Здесь нет этого. Здесь их учат представлять, у них тут в коде появляются какие-то штуки, они с этими штуками что-то делают, нажимают кнопки, оно работает и для них все так ново, необычно. Они думали, что это невозможно вообще. Более чем у половины детей это вызывает восторг. Есть конечно дети, которые не слушают, им скучно, они играют в World of Tanks. Но я осознаю, что определенный процент таких детей неизбежен. В этом году на 50 человек у меня таких, как минимум, один есть. Но тому, кто любит играть, рано или поздно станет скучно, он уйдёт очень быстро.
— А если вспомнить себя в школе и современных ребят?
— Есть, чувствуется. Я с самого начала говорил, что придя в школу в роли преподавателя, не обнаружил там таких, каким был я тогда в школе. Вернее, обнаружил в очень маленьком количестве, они ходили на другие кружки и мне не достались. Но упадок образования в чём-то другом. Дети ничего не хотят. Вот в чем проблема. Когда ребёнок, или даже взрослый человек чего-то хочет, ему можно показать, и он будет постепенно к этому идти, и по пути будет что-то делать, выполнять какую-то работу. А когда человек ничего не хочет, его очень сложно заставить. Можно, конечно, на него давить через страх, угрожать ему, но это дает гораздо меньший эффект, чем какие-то его собственные желания. Мне кажется, что сейчас появилась куча вариантов для родителей контроля своих детей, и они этим контролем задавили желания детей на корню, и теперь появилась кучу детей, которые ничего не хотят. Мобильный телефон — ужасная вещь, оказывается, есть услуга у операторов, по которой оператор родителям будет сообщать, на которой соте мобильник ребенка. С точностью до соты можно контролировать его перемещение. Я знаю учеников, которые от этого сильно страдают.
— А есть ещё в Киеве кружки робототехники?
— Далеко не единственный. Есть техническая студия “Винахідник”. Мне разведчики из детей докладывали, что есть ещё студии, которые и не я, и не “Винахідник”. Так что в Киеве есть Lego-робототехника. Такой замечательной, как у меня, конечно нет :). Хотя, может, и есть.
Да, “Винахідник” — они делают олимпиаду, сами организовывают всеукраинскую, а потом победителей везут на мировую. Я был на олимпиаде, один раз я приходил туда просто посмотреть, а один раз я пришел туда с учениками. Они там даже заняли не последнее место. Мы особенно не готовились, просто пришли как есть и что-то там поделали. Я очень переживал, что дети выступят плохо и будут потом плакать. Но они выступили средне, они не плакали. Я им сразу говорил, что мы идём без подготовки, мы тут вообще другими делами занимались, поэтому рассчитывайте на последнее место. А вообще, если вам там станет уныло — забейте на олимпиаду, просто свалите оттуда, побродите-посмотрите, что там вообще может быть. И главное, не парьтесь по этому поводу. Сам я переживал, потому что боялся, что будут слёзы, но они выступили прилично и все обошлось.
Там я видел что-то около
— Но 60 команд для всей Украины — это тоже неплохо. Если брать все миллионники, то, получается, по несколько десятков команд от каждого.
— Да. То есть заинтересованность есть и я далеко не первый. Но они там детей дрессируют, то есть там задачи решает преподаватель. Чаще всего задача решается поиском решения на ютьюбе, там такого очень много...
— А можешь назвать пример какой-то типовой олимпиадной задачи?
— Могу. Проехать по лабиринту известной формы и попутно собрать три шарика. Простейшее решение — просто запрограммировать последовательность включений моторов и шарики не собирать, за это дают какие-то баллы. Можно точно так же запрограммировать последовательность действий, только еще приделать какую-то хваталку (есть вероятность, что шарик туда попадет, особенно, если она большая), и получить за это еще какие-то баллы. Ну или если туда приделать еще датчик и шарик обнаруживать не по координатам, а датчиком, это точнее будет — тогда уже можно и победить.
— Это реально настолько сложно?
— Ну она не очень сложная, там сложность возникает из-за того, что точность механики не очень высокая, и к концу лабиринта накапливается погрешность. Приходится выравниваться по стенкам, ещё по каким-то штукам. Либо ты должен понять алгоритм самого лабиринта и собрать тогда очень аккуратненько конструкцию, очень ровненько его поставить. Либо выравниваться по датчикам.
Своим ребятам я сказал: “Не заморачивайтесь с датчиком, запишите туда, чтобы он ездил зигзагом и получите какие-то баллы”. Тогда у меня ещё не было собственной методики, а у других её вовсе нет. Поэтому часто преподаватель сам придумывает конструкцию, алгоритм. А потом подготовка к олимпиаде заключается в том, что преподаватель дрессирует детей воспроизводить, т.е. нажал кнопочки и раз, появился алгоритм. Они запоминают конструкцию, наизусть запоминают, как её собирать. Контролируется, чтобы преподаватель не подсказывал, контролируется, чтобы дети никуда не подглядывали, когда они собирают модель, когда они программируют. Такое впечатление, что олимпиада заключается в том, кто лучше запоминает наизусть Lego-конструкции. Это не круто. И три месяца на подготовку, а у меня весь курс 6 месяцев. И зимой выкладывают условия олимпиады.
А если я их буду действительно учить, а у меня как раз на все про все уходит 6 месяцев, — это курс программирования, конструирования, как анализировать прочность модели в голове.
— А почему платформа Lego? Она самая распространённая? Lego наверняка спонсирует и стимулирует. Есть ли еще что-то?
— Я слышал про другие платформы, есть ещё что-то вроде Lego, но оно железное и посерьёзнее, выше точность, больше мощность. Оно может откусить пальцы запросто. Эта штука тоже может поранить, если палец в шестерёнки засунуть, оно тоже может поцарапать до крови. А там может, наверное, и оторвать. И поэтому детям не рекомендуют. А спонсирует... Я не знаю как связан “Винахідник” с Lego, но как-то связан, а кто кому платит, я не знаю.
— Олимпиада тоже в основном на Lego?
— Олимпиаду организовывает и вкладывается в это “Винахідник”. В этом плане они молодцы. Без них я бы туда не попал. Они продвигают робототехнику в Украине, и по-моему, только они. Я когда беседую с родителями, с детьми, они говорят: “А вот мой ходил вот туда, мой ходил вот туда”. А потом я начал наводить справки, кто там организовывает, и везде сплошной “Винахідник”.
Финансируют это больше всего родители, особенно родители-программисты. Они когда слышат: “робототехника”, их остановить сложно. И не все дети хотят и приходится останавливать. Потому что ну не хочет ребенок, и всё. Не потому, что у него мозгов нет, он просто не хочет, ему это противно.
— С трудом представляю ребёнка, которому это может не нравиться...
— Когда надоедает очень сильно, а бывает такое, я обычно говорю: “Дети, мы теперь собираем пульт управления, садитесь писать простую программку реакции на кнопки: включить мотор, выключить мотор, повороты, захват клешней — будут робо-бои”. Кстати, лекции по прочности конструкции как раз выросли из робо-боёв. Роботы падали со стола и рассыпались, и это было не очень приятно, потому что много времени уходило на сборку. И я решил, что надо научить их собирать.
— “Сопромат”?
— Что-то вроде того. Оценка прочности конструкции, соединений. Объяснить, что прочность измеряется в “гвоздиках”, бывает прочность на разрыв, прочность на кручение, на разлом, на рассоединение.
Дети пытались приделать к роботу пилу для боев робота. Потом оказалось, что самое полезное, что есть у робота — это вес и колеса. Потому что если у него либо вес маленький, либо он не стоит на ведущих колёсах, то его очень легко толкать. А ещё если под него можно подлезть, всё, робот улетает со стола сразу. Жаль, что я в своё время это не сфотографировал эволюцию их моделей, может в этом году попробую. Сначала какие-то пилы пытались делать, разламывать роботов, потом роботы начали становиться плоскими, у них по бокам стали появляться какие-то штуки, чтобы его нельзя было поддеть ковшом, и, соответственно, всякие ковши для поддевания. Основных стратегий стало две — поддеть и столкнуть или захватить клешней, отвезти к краю и сбросить.
— А одиннадцатиклассники? Они должны же уже более прошаренные быть?
— У них в районе 14 лет другие интересы возникают. Есть одиннадцатиклассники, у которых остаётся время помимо девочек на ещё что-то. Они не интересуется Lego, но они интересуются программированием, они наверно уже что-то видят перспективы, кем будут работать. Они воспринимают Lego как игрушки. Но впрочем, те же самые тезисы про постановку задач, про то, как называть вещи своими именами, я им тоже рассказываю. Поэтому эффект получается приблизительно одинаковый.
— Спасибо!