Лаборатория KidsFab: как в Петербурге дети строят роботов

Дмитрий Спивак, руководитель кружка робототехники KidsFab. Фото из личного архива.
Дмитрий Спивак, руководитель кружка робототехники KidsFab. Фото из личного архива.

Лабо­ра­то­рия дет­ско­го про­грам­ми­ро­ва­ния и робо­то­тех­ни­ки KidsFab суще­ству­ет в Петер­бур­ге с сен­тяб­ря 2014 года. В ней зани­ма­ют­ся 220 детей от 7 до 13 лет. Дмит­рий Спи­вак, созда­тель и руко­во­ди­тель KidsFab, рас­ска­зал Теп­ли­це соци­аль­ных тех­но­ло­гий, для чего детям про­грам­ми­ро­ва­ние, как устро­е­на про­грам­ма обу­че­ния и како­го робо­та может собрать деся­ти­лет­ний ребе­нок.

– Дмитрий, как в лаборатории проходят занятия?

– У нас есть груп­пы пер­во­го и вто­ро­го года обу­че­ния. И там, и там заня­тия про­хо­дят по суб­бо­там и вос­кре­се­ни­ям, и длят­ся пол­то­ра часа с одним пяти­ми­нут­ным пере­ры­вом. В пер­вый год ребя­та зна­ко­мят­ся с дет­ским язы­ком про­грам­ми­ро­ва­ния, прак­ти­че­ски пол­но­стью визу­аль­ным, и узна­ют базо­вые вещи, учат­ся рабо­тать с 2d-моде­ли­ро­ва­ни­ем.

Вто­рой год про­хо­дит под деви­зом: «Все, как у взрос­лых». Дети пере­хо­дят на тек­сто­вый язык и при­сту­па­ют к 3d-моде­ли­ро­ва­нию, сами соби­ра­ют робо­тов, рабо­та­ют с 3d-прин­те­ром, участ­ву­ют в город­ских сорев­но­ва­ни­ях. Заня­тия про­хо­дят по про­грам­ме, кото­рую мы сами раз­ра­бо­та­ли. Она доста­точ­но подроб­но рас­пи­са­на, и есть чет­кий сце­на­рий. Дети изу­ча­ют тему за темой вме­сте с пре­по­да­ва­те­лем.

При этом при­сут­ству­ет эле­мент твор­че­ства. Напри­мер, когда дети соби­ра­ют робо­та и печа­та­ют его потом на 3d-прин­те­ре, они могут его касто­ми­зи­ро­вать. Сей­час, под конец года, млад­шие созда­ют 2d-модель линей­ки и потом будут ее выпи­ли­вать при помо­щи гра­ве­ра. А стар­шие раз­би­ра­ют­ся с рукой-мани­пу­ля­то­ром, робо­том с тре­мя сте­пе­ня­ми сво­бо­ды, кото­рым они учат­ся управ­лять при помо­щи само­сто­я­тель­но напи­сан­но­го кода.

С само­го нача­ла они на прак­ти­ке зна­ко­мят­ся с элек­тро­ни­кой, меха­ни­кой, физи­кой. Закон Ома в фор­му­ле, конеч­но, не рас­по­зна­ют, но его прин­цип узна­ют при­клад­ным путем.

Как в лаборатории дети делают роботов

– Какие языки и инструменты вы используете в обучении?

– О, это длин­ный спи­сок. Зна­ком­ство с про­грам­ми­ро­ва­ни­ем у нас начи­на­ет­ся с язы­ка Scratch. Это очень хоро­ший дет­ский язык, более фун­да­мен­таль­ный, чем тот же LEGO, и с него удоб­но пере­хо­дить на более серьез­ные язы­ки. Он визу­аль­ный, там есть цвет­ные бло­ки, дети их пере­ме­ща­ют и соби­ра­ют про­грам­мы.

Но у нас это не обыч­ный Scratch, мы его немно­го пере­де­ла­ли, что­бы с его помо­щью мож­но было управ­лять наши­ми робо­та­ми. Доба­ви­ли спе­ци­аль­ные бло­ки. Напри­мер, «вклю­чить мотор впе­ред» или «полу­чить зна­че­ние дат­чи­ка». И кон­струк­тор «Зна­ток». Это для ребят пер­во­го года обу­че­ния. На вто­рой год они рабо­та­ют уже с тек­сто­вым язы­ком С и Arduino IDE. Пишут функ­ции, цик­лы. Посколь­ку дети исполь­зу­ют лазер­ный гра­вер и 3d-прин­тер, им нуж­но уметь нари­со­вать на ком­пью­те­ре дета­ли, смо­де­ли­ро­вать их.

Для это­го мы исполь­зу­ем гра­фи­че­ские редак­то­ры Blender и OpenSCAD для рабо­ты с объ­ем­ны­ми фигу­ра­ми. Напри­мер, вы пише­те: «Создать куб со сто­ро­на­ми 5, 5, 7», а потом «Слить куб со сфе­рой», – и полу­ча­е­те более слож­ную фигу­ру. Вот с этим они рабо­та­ют. Для рисо­ва­ния схе­мы в режи­ме макет­ной пла­ты у нас есть Fritzing.

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

– Девчонки у вас есть среди учеников?

– Да. Соот­но­ше­ние маль­чиш­ки-дев­чон­ки при­мер­но 80% на 20%. Может быть, это мое субъ­ек­тив­ное мне­ние, но мне кажет­ся, что девоч­ки более акку­рат­ные в рабо­те и ответ­ствен­ные. И есть очень талант­ли­вые в про­грам­ми­ро­ва­нии, уже сей­час это вид­но.

– Есть ли у вас домашние задания?

– Как тако­вое домаш­нее зада­ние невоз­мож­но. В первую оче­редь, из-за обо­ру­до­ва­ния. Мы дела­ем его сами, оно доста­точ­но доро­го­сто­я­щее, и у роди­те­лей про­сто нет воз­мож­но­сти доку­пить его себе домой, что­бы там сто­ял 3d-прин­тер, и ребе­нок мог дома дора­ба­ты­вать модель. Все, что нуж­но для рабо­ты, мы предо­став­ля­ем в клас­се.

Ученики кружка робототехники KidsFab на занятии по программированию. Фото из архива.
Уче­ни­ки круж­ка робо­то­тех­ни­ки KidsFab на заня­тии по про­грам­ми­ро­ва­нию. Фото из архи­ва KidsFab.

– Родители участвуют в процессе?

– На заня­ти­ях мы их от это­го вся­че­ски ста­ра­ем­ся отстра­нять. Они часто про­яв­ля­ют нетер­пе­ние, пыта­ют­ся под­ска­зать или помочь. А наша зада­ча как раз в том, что­бы дать детям вре­мя и воз­мож­ность оши­бать­ся, что­бы на сво­ем опы­те поти­хонь­ку все это осва­и­вать. На заня­ти­ях роди­те­лей нет, кро­ме пер­во­го ввод­но­го.

Зато на сорев­но­ва­ни­ях сра­зу вид­но, что роди­те­ли за это увле­че­ние боле­ют. Вот сей­час у нас участ­во­ва­ла коман­да на сорев­но­ва­ни­ях по робо­то­тех­ни­ке в Анич­ко­вом двор­це. Все дети при­шли с роди­те­ля­ми, и если что-то лома­лось, отры­ва­лось коле­си­ко, напри­мер, то мама дер­жа­ла паяль­ник, ребе­нок – при­пой, они так вме­сте и пая­ли на сто­ле.

– А зачем вообще маленьким детям программирование?

– Про­грам­ми­ро­ва­ние сей­час – вто­рая гра­мот­ность, есть боль­шое чис­ло иссле­до­ва­ний о том, что этот навык повы­ша­ет сред­ний доход, веро­ят­ность тру­до­устрой­ства. Пони­ма­ние прин­ци­пов напи­са­ния кода и уме­ние его создать, спо­соб­ность обра­щать­ся с функ­ци­я­ми и мат­ри­ца­ми – все это помо­га­ет фор­ми­ро­вать мате­ма­ти­че­скую логи­ку.

Плюс они видят резуль­тат сво­е­го тру­да: когда ты сидишь несколь­ко заня­тий, раз­би­ра­ешь­ся и, в кон­це кон­цов, созда­ешь робо­та, кото­рый дви­га­ет­ся бла­го­да­ря напи­сан­но­му тобой же коду, это вдох­нов­ля­ет. Смот­ри­те, ведь заня­тие длит­ся целую сту­ден­че­скую «пару», два бло­ка по 45 минут, при этом даже пер­во­клаш­ки не уста­ют, пото­му что им инте­рес­но. Усид­чи­вость, кон­цен­тра­ция, уме­ние дово­дить до кон­ца то, что начал, при­хо­дить к како­му-то резуль­та­ту – вот что дает про­грам­ми­ро­ва­ние.

– Получается, это не игры в программирование для малышей, а настоящая учеба?

– Да, как раз основ­ное наше виде­ние – так постро­ить обу­ча­ю­щий про­цесс, что­бы начи­нать с про­сто­го и понят­но­го – дет­ско­го язы­ка Scratch и кон­струк­то­ра «Зна­ток», и потом путем ана­ло­гий перей­ти с гра­фи­че­ско­го Scratch на тек­сто­вый Arduino IDE, а с кон­струк­то­ра – на макет­ную пла­ту, рабо­тать уже с насто­я­щи­ми элек­трон­ны­ми ком­по­нен­та­ми.

При этом что­бы при пере­хо­де они все пони­ма­ли и не теря­ли инте­рес. Пока у нас это полу­ча­ет­ся. Дети, кото­рые пере­шли на вто­рой год обу­че­ния, вос­при­ня­ли это очень хоро­шо. Они ска­за­ли: «Мы не хотим боль­ше про­грам­ми­ро­вать на дет­ском язы­ке. Мы хотим писать на С».

Лабо­ра­то­рия дет­ско­го про­грам­ми­ро­ва­ния и робо­то­тех­ни­ки KidsFab.