Это был майский субботний полдень,
когда я вдруг осознал,
что завтра День Матери,
а я ничего не приготовил для своей мамы,
и я стал размышлять,
что же мне ей подарить?
Я подумал, почему бы мне не сделать ей
интерактивную открытку с поздравлениями с Днём Матери,
используя программу Scratch, которую я разрабатывал
с моей исследовательской группой в Лаборатории Медиа МТИ.
Мы разработали её, чтобы люди могли легко создавать
свои собственные интерактивные истории, игры и анимации,
и делиться своими творениями друг с другом.
Итак, я решил, что это шанс воспользоваться Scratch
для создания интерактивной открытки для мамы.
Прежде чем создать свою собственную открытку к Дню Матери,
я решил взглянуть
на сайт Scratch.
За последние несколько лет дети по всему миру,
от 8 лет и старше, выкладывали свои работы,
и я задумался, среди этих трёх миллионов работ,
догадался ли кто-нибудь создать открытку ко Дню матери.
Я набрал в поиске
«День Матери»,
и я был удивлён и рад увидеть список
из десятков открыток ко Дню Матери,
опубликованных на сайте Scratch,
многие за последние 24 часа,
такими же прокрастинаторами как и я.
Я стал их просматривать. (Музыка)
Я посмотрел один с котёнком в главной роли
и её мамой, и с поздравлениями с Днём Матери для неё.
Создательница очень заботливо
предлагала повторить просмотр.
В другой интерактивной открытке,
надо было двигать мышкой по буквам «Счастливого Дня Матери»,
под которыми появлялся стишок, посвящённый этому дню.
(Музыка) В этой, автор рассказывает,
как она воспользовалась Google, чтобы узнать,
что это был День Матери.
(Печатает) И когда она узнала, что это был День матери,
она создала специальное поздравление,
чтобы показать, как сильно она любила свою маму.
Мне очень понравилось смотреть эти работы
и взаимодействовать с ними.
Они настолько мне понравились, что вместо того, чтобы создать своё собственное поздравление,
я послал маме с десяток ссылок на эти работы.
Она отреагировала на них именно так, как я и надеялся.
Она ответила мне со словами:
«Я так горда своим сыном, создавшим программу,
которая позволила этим детям сделать открытки для своих мам».
Моя мама была счастлива, поэтому я был счастлив,
но, если честно, я был ещё счастливее по другому поводу.
Я был счастлив, потому что дети пользовались Scratch
именно так, как мы и надеялись.
То, как они создавали интерактивные открытки с Днём Матери,
вы видите, они правда
«на ты» с новыми технологиями.
Что я под этим имею в виду?
Я имею в виду, что они были способны начать выражать себя
и начать выражать свои идеи.
Когда вы свободно говорите на языке,
это значит, что вы можете сделать запись в ежедневнике
или рассказать шутку, написать письмо другу.
То же самое с новыми технологиями.
Создавая эти интерактивные открытки ко Дню Матери,
это дети демонстрировали, что они действительно свободно владели
новыми технологиями.
Может вас это не удивит,
потому что довольно часто люди чувствуют,
что молодёжь что только не делает с технологиями.
Мы все слышали, что молодых людей называют «жителями цифрового мира».
Но я довольно скептически отношусь к этому выражению.
Я не уверен, что молодых людей стоит считать жителями цифрового мира.
Если вы всмотритесь, как же так, что молодые люди
проводят большую часть своего времени пользуясь технологиями,
довольно часто вы увидите ситуации сродни этой,
или этой,
и без сомнения молодые люди
легко и свободно ищут информацию,
переписываются, отправляют письма и играют.
Но это не значит быть «на ты».
У молодых людей есть большой опыт
и знания о пользовании новыми технологиями,
но намного меньше о создании программ с помощью новых технологий,
выражении себя при помощи новых технологий.
Почти как если бы они могли читать,
но не писать при помощи технологий.
Я очень заинтересован в том, как молодые люди могут овладеть ими
и научиться писать при их помощи.
Это на самом деле значит, что им надо научиться
писать свои собственные программы, или программировать.
Постепенно, люди начинают осознавать
важность навыков программирования.
За последние годы появились
сотни новых организаций и сайтов,
которые помогают молодым людям научиться программировать.
Зайдите в интернет, вы найдёте такие школы программирования как Codecademy,
мероприятия вроде CoderDojo,
сайты Girls Who Code
или Black Girls Code.
Создаётся впечатление, что все этим очень увлечены.
В начале этого года,
как только наступил новый год,
мэр Нью-Йорка Майкл Блумберг
сделал новогоднее заявление, что он собирается учиться
программировать в 2012.
Несколько месяцев спустя Эстония приняла решение,
что все первоклашки должны учиться программированию.
Это послужило толчком для дебатов в Великобритании,
всем ли детям надо учиться программированию.
Кому-то из вас, когда вы слышите об идее,
всем учиться программированию, это может показаться странным.
Многие считают, что программированием
будет заниматься очень узкое
сообщество людей,
и они представляют его себе вот так.
На самом деле, если бы это выглядело так,
то только узкое сообщество людей
с высокими математическими способностями и техническим образованием
могло бы этим заниматься.
Но программирование не обязательно должно так выглядеть.
Позвольте мне показать, как выглядит программирование на Scratch.
На сайте Scratch, чтобы написать программу, надо только соединить блоки.
В нашем случае, вы берёте подвижный блок
и переносите его в стек,
а стеки блоков контролируют поведение
различных героев вашей игры или истории,
в нашем случае это большая рыба.
После того как программа создана, вы нажимаете на кнопку «поделиться»
и делитесь своим проектом с другими людьми,
которые могут его использовать
и тоже начать работать над ним.
Конечно, игра с большой рыбой не единственная вещь,
которую вы можете создать с Scratch.
Среди миллионов работ на сайте Scratch
вы можете найти всё, от анимационных историй
до школьных научных проектов,
до мыльных опер в стиле аниме,
до виртуальных строительных моделей,
до воссозданий классических видео игр,
до политических опросов,
до учебников по тригонометрии,
до художественных работ и, да,
до интерактивных открыток ко Дню Матери.
Есть столько разных способов
выразить себя используя этот сайт,
воплотить свои идеи и поделиться ими с миром.
И не просто на экране.
Вы можете написать программу, чтобы взаимодействовать с окружающим миром.
Вот пример из Гонконга,
где несколько детей создали игру
и построили свой собственный интерфейс устройства
со световым сенсором,
который обнаруживает отверстие на доске,
и когда они перемещают настоящую пилу,
световой сенсор находит отверстие
и двигает виртуальную пилу на экране,
которая спиливает дерево.
Мы рассмотрим и другие новые способы,
соединяющие физический и виртуальный миры,
и передающие это миру вокруг нас.
Это пример новой версии Scratch,
которая появится через несколько месяцев,
и снова мы надеемся,
что это поможет вам двигаться в новых направлениях.
Вот пример.
Здесь используется вебкамера.
Движением руки я могу лопать шарики
или двигать жучка.
Это немного похоже на Microsoft Kinect,
где вы взаимодействуете с жестами в мире.
Но вместо того, чтобы играть в чужие игры,
вы можете создавать игры,
и если вы видите игру кого-то другого,
вы можете просто сказать «посмотреть»,
и вы можете увидеть стеки блоков, которые ею управляют.
Здесь есть блок, который измеряет количество движения на видео,
и, если движения много,
он заставит шарик лопнуть.
Также как и камеру,
для передачи информации на Scratch
можно использовать микрофон.
Вот пример работы, использующей микрофон.
Я собираюсь позволить вам всем управлять этой игрой,
используя ваши голоса.
(Звуки сверчков) (Крики) (Чавкание)
(Смех)
(Аплодисменты)
Когда дети создают подобные проекты,
они учатся программировать,
но что более важно, программируя они учатся.
Когда они учатся программировать,
это позволяет им изучить множество других вещей,
открывает им множество новых возможностей обучения.
Полезно провести аналогию с чтением или письмом.
Когда вы учитесь читать или писать, это позволяет
открыть возможности для изучения стольких вещей.
Когда вы учитесь читать, вы потом читаете, чтобы учиться.
То же самое с программированием.
Если вы учитесь программировать, вы программируете, чтобы учиться.
Некоторые вещи, которым вы учитесь, очевидны.
Вы изучаете, как работает компьютер.
Но это только начало.
Когда вы учитесь программировать, появляются возможности
для изучения многих других вещей.
Позвольте привести пример.
Это ещё один проект,
я увидел его, когда посещал
один из компьютерных клубов.
Это центры факультативных занятий, которые мы помогали основать,
они позволяют молодым людям из малообеспеченных слоёв общества
творчески выражать себя при помощи новых технологий.
Когда я посетил один из этих клубов пару лет назад,
я увидел 13-летнего мальчика, использующего Scratch
для создания игры вроде этой,
он был очень доволен этой игрой и очень горд ею,
но ему хотелось сделать большее.
Он хотел набирать очки.
Это была игра, в которой большая рыба съедала маленькую рыбку,
но ему хотелось вести счёт, чтобы каждый раз,
когда большая рыба съедала маленькую,
очки набирались и отслеживался ход игры,
но он не знал, как это сделать.
Я показал ему.
В Scratch вы можете создать вещь под названием «переменная».
Я назову это счётом.
Эта вещь создаёт вам новые блоки,
также создаёт небольшое табло, на котором отражается счёт,
каждый раз, когда я нажимаю «изменить счёт», прибавляются очки.
Я показал это члену этого клуба —
назовём его Виктор — и Виктор,
увидев этот блок, позволяющий увеличивать счёт,
уже знал, что делать.
Он взял этот блок,
поместил его в программу именно на то место,
где большая рыба съедала маленькую.
Теперь каждый раз, когда большая рыба съедала маленькую рыбку,
прибавлялось очко, и счёт повышался.
Это на самом деле работает.
Он увидел это и был так рад,
протянул ко мне руки
и сказал: «Спасибо, спасибо, спасибо».
Мне пришёл в голову вопрос,
как часто студенты благодарят своих учителей
за знания о переменных? (Смех)
Этого не происходит в большинстве классов,
но только потому что в большинстве классов, когда дети изучают переменные,
они не знают, для чего они это делают.
Для них от неё нет никакого толка.
Когда вы изучаете подобные идеи в Scratch,
вы можете делать это осознанно и целенаправленно,
вы понимаете, для чего вы учите переменные,
и мы замечаем, что дети понимают их глубже
и воспринимают легче.
Виктор, я уверен, изучал переменные в школе,
но чего он не делал, так это обращал на них внимания.
Сейчас у него есть повод, чтобы их учить.
Когда вы учитесь во время программирования, и программируете, чтобы учиться,
вы получаете знания в значимом контексте, а это самый лучший способ учить вещи.
Когда дети, такие как Виктор, создают подобные проекты,
они учатся таким важным вещам как переменные,
и это только начало.
Пока Виктор работал над проектом и писал программу,
он также учился процессу дизайна,
как начать с набросков идеи
и воплотить её в полноценный, функционирующий проект,
вроде этого.
Он учился многим различным принципам дизайна,
как экспериментировать с новыми идеями,
как брать сложные задачи и разделять их на более простые части,
как сотрудничать с другими людьми,
как находить и исправлять ошибки, когда что-то не работает,
как не падать духом и не опускать руки,
когда что-то не ладится.
Это важные навыки,
не только по отношению к программированию.
Они важны для любых видов деятельности.
Кто знает, вырастет ли Виктор
программистом или учёным в сфере компьютерных наук?
Наверно, вряд ли,
но, не смотря ни на что,
он сможет найти применение своим навыкам дизайна, которые он получил.
Станет ли он маркетологом,
механиком или главой сообщества,
эти идеи полезны всем.
Полезно вернуться к аналогии с языком.
Когда вы хорошо читаете и пишете,
это не значит, что вы это делаете,
чтобы стать профессиональными писателями.
Очень немногие становятся профессиональными писателями.
Но читать и писать необходимо учиться всем.
Также и с программированием.
Большинство людей не станут учёными
или программистами,
но навыки мыслить творчески,
рассуждать логически, работать совместно,
навыки, вы получаете при программировании на Scratch,
это те вещи, которые люди используют, чем бы они не занимались.
Это касается не только работы.
Программирование позволяет вам
выражать свои мысли и чувства в личной жизни.
Позвольте мне закончить ещё одним примером.
Это произошло
после того, как я отправил открытку с Днём Матери своей маме,
она решила, что хочется научиться программировать на Scratch.
Она создала этот проект к моему дню рождению,
и прислала мне поздравительную открытку на Scratch.
Он не претендует на приз за дизайн,
вы можете быть уверены, что моя 83-летняя мама
не собирается становиться профессиональным программистом или учёным.
Но работа над этим проектом позволила ей
связаться с тем, кто ей важен,
позволила продолжать учиться новым вещам,
продолжать заниматься творчеством
и находить новые способы выражать себя.
Итак мы видим,
что Майкл Блумберг учится программированию,
все дети Эстонии учатся программированию,
даже моя мама учится программированию,
вам не кажется, что пришло время и вам подумать о том,
чтобы научиться программировать?
Если вам хочется попробовать,
я призываю вас отправиться на сайт Scratch.
Это scratch.mit.edu,
попробуйте.
Спасибо большое. (Аплодисменты)