それは５月の土曜日の 午後のことでした
明日は母の日だということに
ふと気が付きました
母にプレゼントを 何も用意していなくて
プレゼントを
何にしようか考えました
そこでインタラクティブな—
カードを作るのは どうだろうかと思いました
MITメディアラボの 私のグループで作っている
「Scratch」というソフトを 使ってです
このソフトは 誰でも インタラクティブな絵本や
ゲームやアニメーションを簡単に作れ それをみんなで—
共有できるようにすることを 目標として開発しました
だから母の日のカード作りが
Scratchを役立てる いい機会になると思いました
自分のカードを作る前に
ちょっとScratchの ウェブサイトを
見てみようと思いました
数年に渡り 下は８歳からという 世界中の子供達が
自分のプロジェクトを ウェブで公開していました
300万件のプロジェクトの中には
母の日のカードも あるかもしれないと思ったのです
検索欄に
「母の日」と打ち込んでみました
うれしい驚きとともに 何十件もの
母の日のカードプロジェクトが
検索結果に現れました
その多くは 私と同じような 先延ばし屋によって
24時間以内に 作られたものでした
そこで作品を 見てみる事にしました
これは子猫と母猫が 出てきて
母の日を祝う という作品です
その作者は思慮深く
お母さんのために「リプレイ」ボタンを 用意していました
もう１つの作品は インタラクティブなもので
「母の日おめでとう」の文字を マウスでなぞると
母の日にふさわしい言葉が現れる 仕掛けになっていました
この作品では 作者がグーグル検索で
母の日が近づいていることを
どのように見つけたかが 語られていました
そして母の日が 近いことがわかったとき
作者は特別な母の日の メッセージで
どんなにお母さんのことが好きか 伝えていました
これらの作品は本当に 素敵なものでした
見ているうちに これらの作品が
本当に気に入ったので 自分の作品を作る代わりに
母には これらの作品へのリンクを 10個ばかり 送ることにしました（笑）
母は実際 私の期待していた反応を 返してくれました
母の返事は こうです
「子供達が母の日のカードを お母さんに送れる
ソフトを作った息子を持って 誇りに思います」
母が喜んでくれて 私はうれしくなりました
でも 私にとって さらに うれしい理由がありました
子供達が 私達の 望んでいた使い方で
Scratchを使ってくれたのが うれしかったんです
例えば母の日のカードを 作ったように
子供達は 新しい技術を
上手に使いこなしています
「上手」というのは—
その技術で 自分を表現でき
自分のアイディアを 表現できることだと思います
ある言語が上手になる ということは
その言語で日記をつけたり 誰かに冗談を言ったり
友達に手紙を書いたり できるようになる ということです
それは 新しい技術でも 同じことです
インタラクティブな 母の日のカードを作ることで
その新しい技術を 上手に使いこなせることを
子供達は 示していました
この話を聞いて 皆さんは そんなに驚かないかも知れません
なぜなら 若い人たちは 技術を使いこなして
いろいろなことができると 感じているからです
我々はみんな 若い人が「デジタル世代」 と呼ばれていることを知っています
私はこれに疑問を 感じています
若い人たちを「デジタル世代」と 考えていいのかどうか
若い人たちの 新しい技術の使い方に
注意を払うなら
よく見かけるのは このような光景や
このような場面です
若い人たちが ウェブを見たり
チャットや メールや ゲームをすることに
抵抗がないのは 疑いようがありません
しかし それは技術を 上手に扱えることとは違います
若い人たちは 新しい技術に対して 豊富な経験があり
それらを操作することに 慣れています
しかし新しい技術で 何かを作ったり
自分を表現するとなると それほどでもありません
それはまるで新しい技術で 読むことはできても
書くことはできない ようなものです
若い人たちが新しい技術を上手に使って 書けるようになることを
どう助けられるかに 私は興味を持っています
それには 彼ら自身が コンピュータの
プログラムを書けるようになる 必要があります
プログラムの書き方を 学ぶ重要性に
気づく人たちが 増えてきています
ここ数年 若い人が プログラミングを学ぶのを
サポートする新しい組織や ウェブサイトが
数多く出来ました
ネット上には Codecademy のようなサイトや
CoderDojo のようなイベントや
女の子向けのサイトの Girls Who Code や
Black Girls Code などがあります
多くの人が行動を 始めたように見えます
今年の始め
新しい年が始まったときに
ニューヨーク市長の マイケル・ブルームバーグが
2012年の新年の抱負として
プログラミングを覚えると 述べていました
数ヶ月後 エストニアでは
小学一年生にプログラミングを 教えることに決めました
このことがきっかけとなり イギリスでも—
子供達みんなにプログラミングを教えるべきか という議論が起こりました
このような話を聞くと すべての人が—
プログラミングを習うことに 違和感を覚える方もいるかも知れません
多くの人は プログラミングというものを
非常に限られた世界の人だけが
必要とすることと考え
こんなプログラムを書くことを 想像しています
プログラミングが このようなものなら
それができるのは 特別な数学の知恵をもち
技術的な素養のある 限られた世界の人だけ—
ということに なるかもしれません
しかし このようなものばかり ではないんです
Scratchでどのように プログラミングできるかお見せしましょう
Scratchでのプログラミングは ブロックをはめ込むだけです
この例では 青いブロックを動かして
こちらの塊に はめ込むだけです
これらの塊は ゲームや物語の中の
いろいろなキャラクターの動きを コントロールしています
この例では大きな魚を コントロールしています
プログラムが完成したら 「共有」と書かれたボタンを
押すことで プロジェクトを 他の人たちと共有して
みんながそのプロジェクトを 利用したり
参加できるようになります
もちろん 魚のゲームだけが Scratchでできること—
ではありません
何百万というプロジェクトの中には
アニメーションから
学校の科学プロジェクト
ホームドラマのアニメ
仮想的な組み立てキット
古いテレビゲームの再現
政治的な意見の投票
三角法のチュートリアル
インタラクティブな芸術作品
そして母の日のカードがあります
ここには人々が 自分自身を表現する
本当に多くの 方法があり
アイディアを実現し 世界中の人と共有することができます
画面の中だけとは 限りません
周りの実際の世界と 連携することもできます
これは香港からの例です
子供達が 作ったゲームで
自分たちで 光センサを利用した
インターフェース装置を 作りました
この装置は 板の穴を検知し
板のノコギリを 操作することで
光センサが 板の穴を検知し
画面の中の ノコギリを動かし
木を切り倒す というものです
これからも物理的な 実際の世界と
仮想的な世界を 一緒にして
結びつける新しい方法を 探っていくことになるでしょう
これは数ヶ月後に リリースを予定している
新しいバージョンの Scratchを使った例です
ここでまた皆さんに 新しい可能性を
示しています
これがその例です
ウェブカメラを使って
手で風船を 割ることができます
虫を動かすこともできます
マイクロソフトの 「キネクト」に似ていて
ジェスチャーで 世界を操作します
しかし 出来合いの ゲームで遊ぶ代わりに
自分のゲームを 作ることができます
そして他の人が 作ったゲームの
中身を見ることで
どうやってこれを実現しているか 知ることができます
どのくらいの動きがあったかが判る 新しいブロックを使って
動きが大きい場合に
風船が割れるように 指示しています
ここでカメラを使って 情報をScratchに
取り込んだのと 同じような方法で
マイクを使うこともできます
これはマイクを使用した プロジェクトの例です
皆さん全員が声を使って
ゲームに参加できます
（虫の音）（叫び）（ガブッ）
（笑）
（拍手）
子供達はこのようなプロジェクトを 作りながら
プログラミングを 覚えていきますが
さらに重要なのは プログラムを書くことで学ぶということです
プログラミングを学ぶことで
他のいろいろなことを 学ぶことができるのです
いろいろな新しい学習への 道が開けます
読み書きとの類似性で また説明したいと思います
読み書きを学ぶことで 他の多くのことを
学ぶ可能性が開けます
読む事ができるようになると 読むことで学べるようになります
同様に プログラミングが できるようになると
プログラミングすることで 学べるようになります
学ぶことの中には 当然のこともあります
コンピューターが どのように動くかとか—
しかしそれは 始まりに過ぎません
プログラミングを学ぶことで 他のいろいろなことを
学ぶ機会が開けます
例を示します
これは別のプロジェクトです
コンピューター教室を 訪れたときに
このプロジェクトを 見かけました
私達が立ち上げに協力した 放課後のラーニングセンターで
低所得層の若者に 新しい技術を使って
自分をクリエイティブに 表現する方法を教えています
数年前に そのコンピューター教室に 行ったとき
これと似たゲームを Scratchで作っている
13才の少年がいました
自分の作ったゲームが気に入っていて 誇りに思っていました
しかし したいことが もう少しありました
得点が表示される ようにしたかったのです
これは大きな魚が 小さな魚を食べるゲームで
彼は得点をつけて 大きな魚が
小さな魚を食べる度に
得点が上がるようにしたいと 思っていました
でも どのようにすればいいのか 分かりませんでした
そこで彼に Scratchでは
変数というものが 使えることを教えました
ここでは変数の名前を 「得点」としましょう
すると新しいブロックが できます
また得点を表示する 小さな表示板もできます
「得点の更新」をクリックする度に 得点が加算されます
これを コンピューター教室の その子に見せました
彼をビクターとしておきましょう ビクターは—
このブロックで 得点が加算できることが判ると
どうすればいいかを 理解しました
彼はブロックを選んで
それをプログラムの中の—
大きな魚が小さな魚を食べる 部分に置きました
すると 大きな魚が 小さな魚を食べる度に
得点が加算され 得点が１点づつ増えていきます
それは実際 正しく動いていました
彼は興奮して
私の手を握ると
「ありがとう ありがとう」 と言いました
その時 思ったのは
先生が変数を教えて 生徒に感謝されることなんて
どのくらいあるのだろうか ということでした（笑）
授業では ほとんど そのようなことは起きません
それは授業で生徒達が 変数を習うときに
なぜ変数を習うのかを 知らないからです
それは彼らが自分で使う ものではないのです
Scratchでこのような アイディアを習うときは
意味やモチベーションのある方法で 学ぶことができます
なぜ変数を学ぶ必要があるかを 理解することができます
子供達は より深く より良く
理解します
ビクターは学校で既に変数を 習っていたと思いますが
彼は変数に注意を 払っていませんでした
今や彼には 変数を学ぶ理由がありました
プログラミングを通して学び 学ぶためにプログラミングすることで
意味のある文脈で学ぶことができます それは物事を学ぶ最上の方法です
ビクターのような子供達が このようなプロジェクトを作ることで
彼らは変数といった 重要な概念を学んでいます
しかしそれは 始まりに過ぎません
ビクターがこのプロジェクトに取り組み スクリプトを作っていたとき
彼はデザインのプロセスも 学んでいました
ぼんやりした アイディアのから始めて
ご覧いただいたように それを本格的な
実際に機能する プロジェクトにする方法です
彼はデザインの核となる いろいろな概念を学んでいたのです
新しいアイディアを どうやって試すかとか
複雑なアイディアを 単純な部分へと分割する方法や
他の人と どう協力していくかとか
期待したように動かないときに どうバグを見つけて直すかとか
物事がうまくいかない状況で
いかに粘り強く方向性をもって 前に進んでいくかなど
これはプログラミングに限らず
重要なスキルです
いろいろな活動において 重要なものです
ビクターは 大人になったときに
プログラマーやコンピューター科学者に なるのでしょうか？
ならない可能性の方が 高いと思います
しかし彼が何をすることに なろうとも
ここで学んだデザインのスキルは 利用することができます
販売責任者になろうとも
機械工や コミュニティーの まとめ役になろうとも
このようなアイディアは 誰にでも役に立つものです
言語との比較で 考えてみましょう
自由に読み書きが できるようになることは
プロの物書きに なるためにだけに
必要なことではありません
プロの物書きになる人は 非常に少ないと思います
けれども読み書きのスキルは 全ての人の役に立つものです
これはプログラミングも同じです
多くの人は大人になって
コンピュータ科学者やプログラマーに なるわけではありません
しかし創造的に考えるスキル
系統的な推論 協力して働くこと
Scratchでプログラムを書くことで学ぶ このようスキルは
どのような仕事に就こうとも 役立てることができるのです
これは仕事に限ったもの でもありません
プログラミングは生活の中で 自分のアイディアや感情を
表現するときにも使えます
最後に もう１つ 例を挙げさせてください
この作品は 私が 母の日のカードを
母に送った後に 作られたものです
母はScratchを 学んでみたいと思ったのです
それで私の誕生日のための プロジェクトを作り
私にScratchのバースデーカードを 送ってくれました
この作品はデザイン賞を 取るようなものではありません
83才の母が プログラマーや
コンピュータ科学者になろうと 学んでいるわけではないのも明らかでしょう
しかしこの作品を通じて
母は気にかける人との つながりを深め
新しいことを学び続けることが できました
創造性を発揮し
自分を表現する新しい方法を 見つけることができました
見渡してみると
マイケル・ブルームバーグは プログラミングを学び始め
エストニアの子供達も プログラミングを学んでおり
私の母でさえ プログラミングを覚えました
みなさんも そろそろ プログラミングを—
覚えていい時期だと 思いませんか？
興味をもたれたら
Scratchのウェブサイトを 覗いてみてください
scratch.mit.eduです
そしてプログラミングを 試してみてください
ありがとうございました（拍手）