Лаборатория детского программирования и робототехники 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-принтер, и ребенок мог дома дорабатывать модель. Все, что нужно для работы, мы предоставляем в классе.
– Родители участвуют в процессе?
– На занятиях мы их от этого всячески стараемся отстранять. Они часто проявляют нетерпение, пытаются подсказать или помочь. А наша задача как раз в том, чтобы дать детям время и возможность ошибаться, чтобы на своем опыте потихоньку все это осваивать. На занятиях родителей нет, кроме первого вводного.
Зато на соревнованиях сразу видно, что родители за это увлечение болеют. Вот сейчас у нас участвовала команда на соревнованиях по робототехнике в Аничковом дворце. Все дети пришли с родителями, и если что-то ломалось, отрывалось колесико, например, то мама держала паяльник, ребенок – припой, они так вместе и паяли на столе.
– А зачем вообще маленьким детям программирование?
– Программирование сейчас – вторая грамотность, есть большое число исследований о том, что этот навык повышает средний доход, вероятность трудоустройства. Понимание принципов написания кода и умение его создать, способность обращаться с функциями и матрицами – все это помогает формировать математическую логику.
Плюс они видят результат своего труда: когда ты сидишь несколько занятий, разбираешься и, в конце концов, создаешь робота, который двигается благодаря написанному тобой же коду, это вдохновляет. Смотрите, ведь занятие длится целую студенческую «пару», два блока по 45 минут, при этом даже первоклашки не устают, потому что им интересно. Усидчивость, концентрация, умение доводить до конца то, что начал, приходить к какому-то результату – вот что дает программирование.
– Получается, это не игры в программирование для малышей, а настоящая учеба?
– Да, как раз основное наше видение – так построить обучающий процесс, чтобы начинать с простого и понятного – детского языка Scratch и конструктора «Знаток», и потом путем аналогий перейти с графического Scratch на текстовый Arduino IDE, а с конструктора – на макетную плату, работать уже с настоящими электронными компонентами.
При этом чтобы при переходе они все понимали и не теряли интерес. Пока у нас это получается. Дети, которые перешли на второй год обучения, восприняли это очень хорошо. Они сказали: «Мы не хотим больше программировать на детском языке. Мы хотим писать на С».
Лаборатория детского программирования и робототехники KidsFab.