Нравится нам это или нет, развитие робототехники, в том числе образовательной, идёт по пути максимального упрощения её использования. Чтобы написать свою первую программу, теперь не обязательно понимать, в чём отличие двоичной системы исчисления от десятеричной, можно просто пальчиком или мышкой собрать "паззл" из визуальных блоков. Лично меня это радует. А Вас? Хороший тест, чтобы понять, каких идей и подходов Вы придерживаетесь в обучении. В разговоре со многими техническими специалистами, а подчас и преподавателями, можно услышать растерянность и даже неприкрытую вражду в отношении игрофикации. Что пугает и тревожит этих людей? Давайте попробуем разобраться, а заодно посмотрим, насколько далеко вперёд (или назад?) шагнула образовательная робототехника за последние годы и десятилетия.
Очень условно и схематично этапы развития робототехники можно представить себе следующим образом.
"Доисторическая" робототехника
Самое начало, восьмидесятые годы и ранее. Лишь отдельные, избранные представители человечества имеют возможность (и способны) заниматься робототехникой. Требуется глубокое понимание основ многих наук, очень серьёзное образование. Программирование на низкоуровневых языках. Роботы получаются пока нелепые, но разве это проблема для людей, посвятивших данной теме жизнь?
"Историческая" робототехника
Первые "общедоступные" робототехнические наборы "для всех". Например, fischertechnik Computing - 1985 г., Lego Mindstorms RCX - 1998 г. Очень-очень модные, очень-очень редкие и очень-очень дорогие игрушки для взрослых энтузиастов, а в отдельных случаях даже для очень-очень продвинутых подростков, которым очень-очень повезло. "Мобильный" робот из набора fischertechnik Computing-Experimental, привязанный проводом к компьютеру, в 1987 г. был способен даже ездить по черной линии на белом полу!
"Современная" робототехника (обратите внимание на кавычки)
"Массовые" наборы современности для средней и старшей школы. Это в первую очередь наборы Lego Mindstorms NXT и EV3, коммерческий успех которых сподвиг многих производителей броситься заполнять ту же самую нишу. Но гениальность и непревзойдённость конструктива Lego Technic трудно переоценить, для использования детьми он подходит практически идеально. Чего нельзя сказать, кстати, о программном обеспечении этой компании. Визуальная среда программирования Lego настолько неудачна, что отбивает всякую охоту её осваивать, а заодно формирует негативное отношение к визуальному программированию в целом. Даже «древние» среды программирования fischertechnik LuckyLogic (1991 г., на базе псевдографики) и fischertechnik ROBO Pro (2004 г., графическая среда, применяется до сих пор) выглядят рациональнее. Результат: данные наборы Lego годятся для использования в отдельных учебных заведениях для работы с отобранными детьми, которых не пугает текстовое программирование.
Цена этих робототехнических наборов по-прежнему соответствует игрушке скорее для состоятельного взрослого, а не для ребенка. Посмотрите ролики на Youtube: большинство энтузиастов Lego Mindstorms NXT и EV3 - не подростки, а взрослые, которых уже не отталкивает обманчивая "детскость" конструктора.
Отдельно следует упомянуть о комплектности: с точки зрения компании Lego, чтобы упростить детям задачу создания робота, надо им оставить лишь три мотора: два для перемещения и один для исполнения всех остальных функций. Тогда как даже при беглом анализе ситуации становится очевидно, что для того, чтобы переместить груз, его следует вначале схватить, а потом приподнять. Каждый ли взрослый способен быстренько изобрести кинематическую схему, чтобы и первая, и вторая операции осуществлялись единственным мотором?
Попытка компании Lego адаптировать свои наборы для использования в начальной школе выглядит следующим образом: давайте оставим детям ОДИН (!!!) мотор с ОДНИМ (!!!) датчиком и назовём это роботом! Конечно, дети будут способны многое узнать даже в этом случае, но не эффективнее ли использовать иной подход?
В момент своего появления (2013 г.) набор Lego Mindstorms EV3 был чудовищно передовым. Безусловно, его и сейчас, и ещё долгое время можно будет с успехом использовать в обучении. Но надеюсь, все понимают, что далеко не для всех задач он подходит оптимально. Так каких же средств недостаёт современной образовательной робототехнике? Какие нам нужны альтернативы и какие новые возможности они должны предоставлять?
Перво-наперво давайте честно признаемся самим себе: увлечение робототехникой в средней и старшей общеобразовательной школе никогда не станет по-настоящему массовым, охватывающим 100% учеников или близко к тому. В этот момент персональные интересы уже в целом сформированы, очень дифференцированы, и к тому же, изрядно трансформированы пубертатным периодом. Но если вновь обратиться к вышеописанным этапам становления образовательной робототехники, мы увидим, что она постепенно начинает быть доступной для более младшего возраста, происходит понижение "входного порога". И по опыту нашей школы мы можем сказать, что теперь в "началке" дети с восторгом ходят на занятия по робототехнике целыми классами!
Имеет ли смысл заниматься с третьеклассниками и четвероклассниками точно так же, как с подростками? Нет! Для этого требуются другие наборы и другие формы занятий, включающие игровые элементы. Но то, что нам самим в детстве казалось идеальной игрушкой, о чём мы могли лишь мечтать, нынешних детей привлекает не особо. Их привлекает то, о чём мы в детстве и мечтать не могли!
И было бы неплохо, кстати, если бы эти игрушки начали быть доступны каждому ребёнку. Прогресс не стоит на месте, за последнюю пару-тройку лет появилась масса интересных и доступных альтернатив классическому Lego Mindstorms EV3, и теперь иметь собственного несложного робота ничуть не более накладно, чем иметь мобильный телефон. Могут позволить себе приобрести подобные образовательные комплекты и школы.
Надеемся ли мы на то, что все дети, занимающиеся с роботами, поголовно станут профессиональными робототехниками и программистами? Нет, нет такой задачи! Но значит ли это, что толку от занятий - ноль? Конечно же нет!
Что даёт третьеклассникам-четвероклассникам посещение занятий по робототехнике?
- Понимание основ программирования, самых базовых идей и концепций, что позволит будущим взрослым профессионалам, какой бы деятельностью они не занимались (биология, автомеханика, журналистика, список можете продолжить сами), использовать программирование для решения своих прикладных задач. Программирование - это язык, и как любой другой язык, эффективнее всего осваивается в детстве. Обратите внимание, неважно, обозначается ли бесконечный цикл графической "скобкой" с подписью "всегда", или словечком "loop" со скобками. Независимо от способа обозначения суть остаётся неизменной.
- Интерес к инженерному и техническому знанию в целом. Кстати, мы не противопоставляем "технарей" "гуманитариям". "Технарь", это не тот, кто ненавидит читать книги, а тот, кто интересуется техникой. "Гуманитарий" это не тот, кто презирает технику, а тот, кто любит читать книги. Можно быть и "технарём" и "гуманитарием" одновременно, а можно быть ни тем, ни другим.
- Способность строить компьютерные модели, и вообще разнообразные интеллектуальные модели, а это один из наиболее эффективных, если не самый эффективный способ обучения и познания.
- Наконец, формирование самого главного метапредметного результата: способности рационально мыслить и решать любые задачи методом "сверху вниз".
К методу "сверху вниз" мы еще вернёмся. А пока давайте посмотрим, какими качествами должны обладать робототехнические наборы и программные средства для того, чтобы их можно было использовать для занятий в начальной школе. Ведь именно появление новых средств дало возможность совершенно по-новому начать заниматься с третьеклассниками-четвероклассниками.
Во-первых, по моему глубокому убеждению, разделяемому и многими другими преподавателями, в начальной, да и в средней школе следует использовать визуальные программные среды. Но… «не все йогурты одинаково полезны». Действительно хорошо зарекомендовала себя среда визуального программирования Scratch и (почти) все программные продукты на основе этого блочного языка, позволяющие работать с универсальными микроконтроллерами (Arduino, Micro:bit и прочие) и со специализированными роботехническими контроллерами (есть нюансы, но о них нужно говорить отдельно). Именно Scratch прочно формирует навыки СТРУКТУРНОГО программирования и не позволяет детям увязать в так называемом «спагетти-программировании» (чем грешат визуальные среды Lego Mindstorms, fischertechnik ROBO Pro и TRIK Studio, кстати). Обзор существующих визуальных сред на базе Scratch будет в следующих статьях.
Во-вторых, робототехнические наборы нового поколения должны быть изначально сориентированы на игровое использование детьми, при этом предоставлять возможность перейти к «серьезному» программированию. Эта игровая ориентация не должна ограничиваться лишь формальной декларацией на коробке: «Учись играя». Набор должен быть готов для игры и комплектоваться готовыми обучающими играми. И примеры реализации подобного подхода уже есть!
К настоящему моменту мне удалось покрутить в руках и освоить три подобных набора: Makeblock mBot, Makeblock Codey Rocky и Jimu Explorer (кстати, последний комплектуется семью сервомоторами с обратной связью и стоит при этом дешевле Lego Mindstorms EV3).
К каждому такому набору прилагается готовый обучающий курс, знакомящий с основами программирования, и выглядит он как простая, но симпатичная компьютерная игра, в которой надо проходить уровень за уровнем, обучая «подопечного» робота выполнять необходимые действия. Но в отличие от обычной компьютерной игры, действующий персонаж тут не виртуальный, по столу или по полу будет ездить или ходить самый настоящий робот, мигать лампочками и сигналить.
Во всех трёх случаях разработчики предоставляют свой обучающий игровой курс в виде бесплатного мобильного приложения, работающего на платформах Android и iOS. Роль взрослого (поначалу) сведена к минимуму: выдать ребенку (или группе из двух-трёх детей) коробку с набором и смартфон или планшет, на котором установлено игровое приложение (mBlock Blockly или Jimu). Современные дети умеют играть в компьютерные игры, дальнейший процесс проходят практически самостоятельно, следует всего лишь им подсказать, что для начала игры надо выбрать раздел «История» или «Приключение», а интерактивная инструкция по сборке робота находится в самом приложении.
Может ли обычный родитель купить такой набор, отдать его вместе с планшетом «на растерзание» своему чаду и спокойно продолжить заниматься своими делами? Да, может. Может ли педагог-организатор без специальной подготовки проводить занятия по робототехнике с детьми с использованием подобных наборов? Да, может. Вопрос лишь заключается в том, что делать, когда ребенок пройдет игровой курс до конца. Как поддержать интерес ребенка, не дать ему увянуть? Вас не пугает перспектива выяснить, что ребенок вдруг научился делать что-то лучше, чем умеете Вы, и то, что Вы собирались ему начать рассказывать, он уже знает, и Вам нечем поделиться? Если Вы готовы учиться ВМЕСТЕ со своими детьми, вместе придумывать новые игры и новые игровые задания, значит, Вы на правильном пути. И у нас для Вас есть хорошая новость: мы постарались дать ряд подсказок по возможному дальнейшему направлению движения в нашей книге «Игровая робототехника для юных программистов и конструкторов: mBot и mBlock».
Об особенностях всех трёх наборов хотелось бы рассказать подробнее, но это тема для отдельной публикации. А пока давайте вернемся к вопросу о том, что нас пугает в современных тенденциях визуализации, игрофикации и упрощения пользования современной робототехникой.
Итак, чем нам грозит внедрение игровой робототехники? Для серьёзных специалистов «старой закалки» это может оказаться ощутимым ударом по профессиональному престижу. Задачи, которые требовали от них раньше времени и усилий, с использованием сегодняшних средств решаются без труда. «Мы вначале учились двоичной системе исчисления, а у современных детей всё РАЗ! – и готово! А азов они не знают!» Но те, кто высказываются подобным образом, забывают, что сами в юности слышали очень похожие слова от старших.
Педагогам, уже занимающимся робототехникой в средней и старшей школе, тоже будет непросто: придётся перекраивать программы обучения. Как минимум по той причине, что дети будут приходить с иным багажом знаний. Но виновата ли во всём игровая робототехника? Нет, по моему мнению, виновата наша всеобщая страсть решать все задачи методом «снизу вверх»! И наши обучающие курсы в большинстве своём тоже построены «снизу вверх»!
Каким образом частенько выглядит процесс обучения? Вначале мы заставляем детей освоить инструмент (для ребёнка – непонятно зачем), а затем требуем решить задачу с использованием этого инструмента. Таким образом формируется исполнительность, старательность, умение преодолевать сложности… Но думаю, и негативные стороны подобного подхода всем хорошо знакомы. Можно столкнуться с тем, что ученик нужный инструмент так и не освоил (ему это было неинтересно), либо есть шанс услышать: «Мне проще эту задачу решать по-другому».
При написании программ подобный метод работы называется «восходящим программированием» или методом «снизу вверх». Мы ВНАЧАЛЕ создаем необходимый инструментарий, то есть подпрограммы, а затем с их помощью пытаемся решить основную задачу. И очень часто мы при этом убеждаемся, что созданные или выбранные нами средства для решения задачи подходят не оптимально. Приходится начинать всё заново.
Альтернативный путь называется «нисходящим программированием», или методом «сверху вниз». Вначале мы решаем задачу в целом, пользуясь принципом «как если бы…», то есть разбиваем основную задачу на составные части и формулируем решение таким образом, как будто бы мы уже способны решить каждую подзадачу. И лишь затем приступаем к реализации всех подпрограмм. Информации о данном подходе в интернете масса, достаточно вбить в поисковую строку запрос «программирование методом сверху вниз».
Идея, которую мне хотелось бы донести, заключается в том, что метод «сверху вниз» это не только метод программирования, не только эвристический метод решения разнообразных творческих задач, это ещё и метод обучения. И каждому педагогу имеет смысл задать следующие вопросы самому себе: «Не чрезмерно ли я сам злоупотребляю подходом снизу вверх? Готов ли я сам к изменениям? Кого мне хотелось бы вырастить из своих учеников, послушных исполнителей или творческих людей? Способен ли я сам оставаться ребенком и продолжать играть?»
И можно ли донести до учеников необходимый материал, руководствуясь подходом «сверху вниз»? На мой взгляд, можно. Необходимо придумать такое игровое задание, чтобы использование этого материала было необходимым для его выполнения. Но это творческая задача.