Одного травневого дня
я усвідомив,
що завтра буде День матері,
а я не приготував подарунка своїй мамі.
Отже, я почав думати про те,
що ж я можу подарувати мамі у цей день.
І подумав, чому б не зробити їй
інтерактивну листівку,
використовуючи навчальний графічний редактор Scratch, який я розробляв
зі своєю дослідницькою групою у медійній лабораторії Масачусетського технологічного інституту.
Ми розробили цю програму для того, щоб люди могли легко створювати
власні інтерактивні історії, ігри та анімацію,
а потім ділилися своєю творчістю один з одним.
Я подумав, що це буде чудова можливість скористатися програмою Scratch,
щоб зробити мамі інтерактивну листівку.
Перед тим, як створити власну листівку,
я вирішив заглянути
на сайт цієї програми.
Декілька останніх років діти зі всього світу,
віком від восьми і старші, викладали свої роботи.
Мені стало цікаво, чи є серед тих трьох мільйонів робіт
листівки з привітаннями до Дня матері.
Я увів у пошуковому вікні запит
«День матері»,
і був одночасно здивований та задоволений, коли побачив
десятки листівок, присвячених Дню матері,
які були викладені на сайті програми Scratch.
Багато листівок було створено за останні 24 години
такими ж як я любителями залишити все на останній момент.
І я почав розглядати їх.
На одній було зображене кошеня,
яке вітало свою маму зі святом.
Автор дуже делікатно
пропонував мамі ще раз переглянути привітання.
В іншій інтерактивній листівці потрібно було
наводити курсор миші на літери виразу «Вітаю з Днем матері».
Після цього з'являлось спеціальне привітання.
(Музика) А за допомогою цієї листівки дівчинка розповіла історію
про те, як вона за допомогою Гугл дізналась
про цей день.
(Ввід тексту) І після того, як дівчинка дізналась, коли святкують День матері,
вона зробила особливе привітання,
в якому говорила, як сильно вона любить свою маму.
Мені дуже сподобалось роздивлятись ці роботи
та ближче знайомитись з ними.
Більш того, мені настільки це сподобалось, що замість розробки власного проекту,
я надіслав мамі посилання на декілька цих робіт. (Сміх)
Вона відреагувала саме так, як я й очікував.
У відповідь вона написала:
«Я так пишаюсь мати сина, який створив програму,
яка дала цим дітям змогу створити листівки для своїх мам на це свято».
Мама була щасливою, і це зробило щасливим мене.
Але, чесно кажучи, я був ще щасливішим з іншої причини.
Я радий, що діти використовували Scratch
саме так, як ми цього очікували.
Те, що вони створили листівки до Дня матері,
допомогло нам зрозуміти, що вони
вільно використовують нові технології.
Що я маю на увазі?
За допомогою новітніх технологій вони почали виражати себе
та свої ідеї.
Коли ти починаєш вільно говорити,
це означає, що ти можеш написати про щось у щоденнику,
розповісти анекдот чи написати другу листа.
Те саме відбувається з новими технологіями.
Створивши інтерактивні привітання на свято матері,
діти показали, що вони опанували
новітні технології та можуть їх застосовувати.
Вас це може зовсім не здивувати,
оскільки багато хто вважає,
що підлітки в наш час вільно користуються новітніми технологіями.
Всі знають, що вони "аборигени цифрових джунглів".
Проте, особисто я скептично ставлюсь до цього терміна
і не впевнений, чи можна їх так називати.
Подумаймо, чому підлітки
проводять більшість часу, використовуючи нові технології?
Ви можете застати їх за таким заняттям,
чи за таким.
Таким чином, не виникає сумнівів, що підлітки
звикли шукати щось в Інтернеті,
переписуватись у мережі чи грати у всілякі ігри.
Але це ще не все.
Сучасні підлітки знають багато про
нові технології та активно їх використовують.
Проте, вони зовсім не орієнтовані на творення за допомогою цих технологій
та самореалізацію з їх допомогою.
Це те саме, якби вони вміли читати,
але не вміли писати, використовуючи нові технології.
Я дійсно зацікавлений у тому, щоб допомогти підліткам навчитися
самостійно творити з допомогою нових технологій.
А це означає, що вони повинні вміти
писати власні комп'ютерні програми або код.
І з кожним роком люди все більше усвідомлюють
важливість вивчення програмування.
За останні роки було створено
сотні нових компаній та веб-сайтів,
які допомагають підліткам навчитись програмувати.
Якщо пошукати в Інтернеті, можна знайти сайти на кшталт Codecademy
та події типу CoderDojo,
сайти як Girls Who Code
чи Black Girls Code.
Здається, що всі починають цим займатись.
Тільки на початку цього року,
одразу після Нового року,
мер Нью-Йорка Майкл Блумберґ,
під час свого новорічного привітання пообіцяв у 2012 році
навчитися програмувати.
Декілька місяців опісля, влада Естонії прийняла рішення,
що всі першокласники повинні вчити програмування.
Це спричинило жваву дискусію у Сполученому Корлівстві
стосовно того, чи всі діти повинні програмувати.
Для декого з вас, напевно, дивно чути,
що у майбутньому всі будуть навчатись програмуванню.
Коли люди уявляють програмування, то вважають, що
це під силу лише нечисленній
групі людей.
Вони також думають, що це виглядає так.
Але насправді, якщо програмування виглядає саме так,
то це дійсно залишиться справою малої групи людей,
які мають знання математики та технічну освіту.
Тільки вони вмітимуть програмувати.
Але програмування не має бути таким.
Зараз я покажу вам, як можна програмувати з допомогою Scratch.
Отже, у Scratch необхідно лише з'єднати частини.
Ви берете рухомий блок та
додаєте його до списку.
Цей список відповідає за поведінку
різних персонажів вашої гри чи історії.
У нашому випадку - це велика рибина.
Коли ви створили програму, можна натиснути «Поділитись»
і показати роботу іншим людям.
Вони зможуть користуватися вашою роботою
та, можливо, зроблять щось самостійно.
Зрозуміло, що у Scratch можна створювати
не лише ігри про рибу.
Серед мільйонів створених робіт на сайті
можна знайти все - від анімованих історій
до шкільних наукових проектів,
анімованих мильних опер,
віртуальних конструкторів,
відтворення класичних відео ігр,
політичних опитувань,
уроків геометрії,
інтерактивних витворів мистецтва та
листівок до Дня матері.
У людей є стільки можливостей
для реалізації своїх ідей.
Вони можуть втілити їх у життя та поділитись ними з усім світом.
Ваша робота може не обмежуватися лише екраном.
Ви також можете програмувати для взаємодії з матеріальним світом.
Наприклад, у Гонконзі
діти створили гру
та спроектували власний незалежний фізичний пристрій
зі світловим сенсором. Цей сенсор може
розпізнавати діру у дошці.
Коли вони пересувають справжню пилку,
світловий сенсор виявляє діру,
керує віртуальною пилкою на екрані
та спилює дерево.
Ми збираємося й далі досліджувати нові шляхи
поєднання фізичного світу та віртуальної реальності,
щоб їх урешті об'єднати.
А ось приклад із оновленої версії Scratch,
яка вийде через кілька місяців.
Ми сподіваємось, що вона
відкриє вам нові перспективи.
Ось наприклад.
Нова версія може працювати з веб-камерою.
Рухаючи рукою, я можу лопати кульки
чи пересувати жука.
Вона трохи схожа на Microsoft Kinect,
яка дає змогу працювати з рухами.
Але замість того, щоб грати в ігри, створені кимось,
ви створюєте власні.
Граючи у гру,
ви можете дізнатися її структуру
та сукупність команд, на основі яких вона працює.
Тобто, буде новий блок з усією інформацією про рух на отриманому відео.
І якщо руху достатньо,
кульки будуть лопатись.
Так само, як ви використовуєте відеокамеру,
щоб подати інформацію у Scratch,
можна використовувати мікрофон.
Ось приклад проекту з використанням мікрофону.
Ви всі будете брати участь у керуванні грою,
використовуючи голоси.
(Цвіркуни) (Крики) (Чавкання)
(Сміх)
(Оплески)
Створюючи такі проекти,
діти вчаться програмувати.
Але щонайважливіше - програмуючи, вони вчаться.
Оскільки навчання програмуванню
сприяє вивченню інших речей та
надає багато можливостей для пізнання.
Знову ж таки, було б доцільно згадати про читання та письмо.
Читання та письмо дають вам змогу
вивчити купу інших корисних речей.
Навчившись читати, ви можете потім читати для навчання.
Так само з програмуванням.
Якщо ви вчитесь програмувати, ви потім можете програмувати, щоб навчатись.
Ви можете навчитись очевидним речам.
Наприклад, дізнатись про те, як працює комп'ютер.
Але це лише початок.
Програмування спонукає вивчати
багато інших речей.
Розгляньмо один приклад.
Цей проект
я побачив, коли ходив до
одного комп'ютерного клубу.
Це одна з груп продовженого дня, яку ми заснували,
щоб допомогти підліткам з малозабезпечених сімей
навчитись висловлюватись творчо, використовуючи нові технології.
І коли кілька років тому я відвідав один з таких клубів,
то побачив 13-річного хлопчика, який створював
гру, схожу на цю, працюючи у Scratch.
Він був дуже щасливим і пишався тим, що створив власну гру.
Водночас, він прагнув більшого.
Він хотів вести рахунок гри.
Це була гра, де велика риба їла маленьких рибок.
І він хотів вести рахунок. Тобто, щоб кожного разу, коли
велика риба їла маленьку,
рахунок збільшувався та відображав результати.
Але він не знав, як це зробити.
І я показав йому.
У Scratch можна створювати так звану змінну.
Я назву її «рахунок».
Так ми створили новий блок
та невеликe табло, де буде показано рахунок.
Щоразу, як я натискаю «змінити рахунок», він збільшується.
Я показав це учаснику клубу -
назвемо його Віктор - і Віктор,
зрозумівши, що цей блок дозволяє збільшувати рахунок,
одразу зрозумів, як це застосувати.
Він взяв цей блок
і додав його у програму.
Саме туди, де велика рибина їсть маленьку.
Отже, кожного разу, коли одна риба їсть іншу,
рахунок збільшуватиметься на одиницю.
І це дійсно працює.
Він дуже зрадів, коли побачив це.
Він потиснув мені руку,
говорячи: «Дякую, дякую, дякую».
Мені стало цікаво,
як часто учні дякують своїм вчителям
за те, що ті показали їм змінну? (Сміх)
У більшості випадків учні цього не роблять.
Але не роблять через те, що не знають,
навіщо вони вчать змінні.
Вони не вчать нічого з того, що можна було б застосувати.
Коли ви вчите це у Scratch,
це стає значущим для вас і мотивує.
У вас з'являється причина вивчати змінні.
Ми бачимо, що тоді діти вчаться старанніше
та краще.
Я впевнений, що у школі Віктор проходив змінні,
але насправді нічого не засвоїв, оскільки не звернув на них уваги.
Тепер у нього є причина це вивчити.
Отже, коли ви вчитесь за допомогою програмування та програмуєте, щоб навчатись,
ви вчитесь у контексті. Це найкращий способ навчання.
Коли діти, як Віктор, створюють такі проекти,
вони дізнаються про важливі явища, наприклад, про змінні.
Але це лише початок.
Створюючи проекти та сценарії,
Віктор також досліджував процес дизайну:
як зробити з невеликої ідеї
закінчений проект, який буде безпроблемно функціонувати.
Схожий на той, що ви сьогодні бачили.
Отже, він вивчав чимало основних принципів проектування.
Наприклад, як експериментувати з новими ідеями,
як розділяти складні багатокомпонентні ідеї на невеликі частини,
як співпрацювати з іншими людьми, які працюють над вашими проектами,
як знаходити та виправляти помилки,
як залишатись наполегливим та спокійним
під час негараздів, коли нічого не виходить.
Сьогодні це важливі речі,
які стосуються не лише програмування.
Ці аспекти важливі для різних сфер діяльності.
Хто зна, можливо Віктор виросте і стане
програмістом або вченим у сфері комп'ютерних технологій.
Це малоймовірно,
але хоч би чим він займався у майбутньому,
він зможе використати навички проектування, які він опанував.
Незалежно від того, чи стане він менеджером з маркетингу,
механіком чи організатором заходів,
ці знання корисні для всіх.
І знову ж таки, можемо провести аналогію з мовою.
Починаючи читати та писати,
ви не ставите за мету
стати професійним письменником.
Мало хто стає письменником.
Але читати й писати повинен вміти кожен.
Те саме можна стверджувати про програмування.
Більшість не стане спеціалістами у сфері
програмування чи комп'ютерних технологій,
але навички думати творчо,
міркувати систематично, працювати в команді -
те, чому ви навчаєтесь, програмуючи у Scratch -
можна використовувати незалежно від вашої професії.
Це стосується не лише професійної сфери.
Програмування дає змогу
виражати думки та почуття в особистому житті.
На завершення розповім вам ще один приклад.
Це сталося після того,
як я надіслав мамі листівку до Дня матері.
Після цього вона вирішила вивчити Scratch.
Вона зробила цей проект на мій день народження
і надіслала мені листівку, створену у Scratch.
І хоча цей проект не отримає призове місце за найкращий дизайн,
ви можете бути впевнені, що моя 83-річна мама
створювала його не для того, щоб стати професійним програмістом чи науковцем у сфері комп’ютерних наук.
Робота над цим проектом
наблизила її до людини, про яку вона піклується,
дала можливість продовжити вивчати щось нове,
і розвивати свій творчий потенціал
та нові шляхи його вираження.
Як бачимо,
Майкл Блумберґ вчиться програмувати,
всі естонські діти вчаться програмувати,
навіть моя мама вчиться.
Подумайте, може для вас саме час
почати програмувати?
Якщо ви хочете спробувати,
я пропоную вам відвідати сайт Scratch.
Заходите на scratch.mit.edu
і починаєте навчання.
Щиро дякую. (Оплески)