Выкладывая свой проект на сайте, девочка сопроводила его таким пояснением: «Я тут немного покопалась со скриптами и сообразила-таки, как сделать, чтобы можно было бегать взад-вперед. Я подправлю игру и выложу улучшенный вариант. Обратите внимание, это пока еще не окончательная версия!» Проект девочка назвала «Моя игра в дракончика (НЕ окончательная версия)» и тем дала понять участникам сообщества, что он еще в разработке. В заметках к проекту она написала: «Пытаюсь добиться, чтобы, когда перебегаешь туда-сюда, не исчезала скала. Может, кто-нибудь поможет или что-то посоветует?»
В комментариях скретчеры предложили различные варианты решения проблемы. Это помогло девочке подправить проект, и она выложила улучшенную версию, хотя результат ее все еще не удовлетворял. На сей раз она дала проекту такое имя: «Моя игра в дракончика (все еще НЕ окончательная версия)», а в заметках пояснила: «Это лишь очередной этап длительного процесса».
Многие дети, если у них с ходу не получается сделать все как надо, теряют интерес или впадают в уныние. Но только не EmeraldDragon. Девочка явно не боялась и не стеснялась ошибаться. Свои ошибки она воспринимала как естественную часть процесса. Потерпев поражение в первый раз, она стала пробовать другие варианты, много вариантов, снова и снова. Она все время просила совета и помощи у товарищей по сообществу, продолжала поиск новых стратегий и тем самым совершенствовала проект.
Такой психологический настрой крайне важен для творческого процесса. В серии популярных выступлений на темы творчества на конференциях TED сэр Кен Робинсон подчеркивает особую важность риска и ошибок. «Если не готов признаться, что ошибался, вовек не додумаешься ни до чего по-настоящему оригинального, — объясняет он. — Наша же образовательная система выстроена так, что ошибки считаются худшим из того, что может случиться. Мы выдавливаем из людей их творческие способности».
Для того чтобы дети развивали творческое мышление, нужно создать такую среду, где они почувствуют себя непринужденно и будут не стесняться ошибок, а учиться на них. Это одна из причин, почему я так радуюсь, когда дети берутся осваивать программирование. По сравнению со многими другими занятиями оно терпимее к ошибкам. Если неправильно отпилить кусок от деревяшки или сколотить две доски гвоздями, то потом будет очень трудно это исправить. То ли дело программирование! Здесь легко отменить последние действия — и потому ошибки не кажутся такими обидными. Код можно править и корректировать сколько угодно, пробуя новые варианты.
У программистов есть хорошая традиция: для них ошибка — не свидетельство поражения, а всего лишь баг, который легко устранить. Чтобы стать настоящим программистом, нужно освоить стратегию отладки, а именно научиться распознавать и выявлять проблему, а затем вносить коррективы, чтобы устранить ее. Нельзя сказать, что такая стратегия характерна исключительно для программирования. На самом деле, обучаясь писать программы, дети попутно осваивают и способы их отладки, а это очень пригодится им, когда придется что-нибудь проектировать или решать какие-нибудь проблемы. Программирование всегда считалось контекстом, особенно благоприятным для изучения и практического применения отладки, поскольку в коде легко и быстро можно поменять что угодно и увидеть, какие результаты это дало.
В Scratch некоторые стратегии отладки программ носят социальный характер. Как и EmeraldDragon в случае с игрой про дракончика, дети могут обращаться к другим участникам сообщества за советом и помощью. Кое-кто сомневается, стоит ли выкладывать проекты, в которых еще не устранены все ошибки, — опасается комментариев с чересчур резкой критикой. Мы решили прийти на помощь таким неуверенным скретчерам и, чтобы им было комфортнее делиться незаконченными проектами, добавили на сайт новую функцию, позволяющую помечать проект как незаконченный. Прицепляя к своему творению ярлычок «В разработке», скретчер сразу дает понять другим участникам сообщества, чего можно ожидать от проекта, к тому же это знак, что автор ожидает откликов и советов.
У некоторых детей благодаря опыту работы со Scratch основательно изменились представления о том, что такое ошибки и поражения. Вот что сказал один подросток в телепередаче, посвященной Неделе программирования для Африки[40]
: «Лично меня Scratch научил мириться с ошибками и не бояться неудач, поскольку они играют особенную роль в программировании, очень важную. Сделать что-то не так — это, наверное, лучшее из всего, что может с тобой приключиться, поскольку дает тебе два варианта: либо раскусишь сложную задачку, либо компьютер выкинет какой-нибудь фортель, какого ты и не ожидал. Это здорово, я фокусируюсь на том, что мне непонятно».