MITメディアラボがプロジェクトを推進
子どもたちがOSS活動、プログラミング言語「Scratch」が開く未来
2008/01/17
本当の意味でコンピュータリテラシーがあるというのは、つまりプログラミングができるということだ――。“パーソナル・コンピュータ”という概念の生みの親で、先進的なプログラミング言語「Smalltalk」やGUIというインターフェイスの開発者としても知られるコンピュータ科学者のアラン・ケイ博士は、そう言い切る。コンピュータに囲まれて育ったわれわれの子どもたちは、コンピュータリテラシーを持つ初めての世代になるだろう、と。
ケイ博士の議論は、“リテラシー”という言葉がもともと指していた文字の読み書き能力の歴史を振り返れば説得力を持つ。今では小中学生でもケータイで文字を書き送っているが、文字の歴史のほとんどの期間、非専門家が文字を読み書きする時代が来るとは、誰も想像すらできなかった。文字は、一部の特別な訓練を受けた人々だけが扱いうるものだった。グーテンベルクの活版印刷技術の発明から数えても約500年。先進国で読み書きが一般化したのは最近のことだ。文字にしろコンピュータにしろ、新しいテクノロジを使いこなすには数世代を要する、というのがケイ博士の指摘だ。
いま現在専門家だけが行っているプログラミングも、いずれは誰もが行うようになる。できあいのソフトウェアだけを使っているわれわれ第1世代は、文字でいえば、読むのがやっとという世代に過ぎない。ただし、現在職業的に文章を書く人がいるのと同じで職業プログラマが完全に失業するわけではないだろうという。
ケイ博士は、こうした理念に基づいて、子どもたちにコンピュータリテラシーを教える教育を長年続けている。アップル在籍時代の1995年には教育向けのオブジェクト指向プログラミング言語、「Squeak」(スクイーク)を発表、各地で講演や教育活動を展開している。Squeakは画面上にブロックを並べることでオブジェクトや、オブジェクトに送るメッセージを設定でき、ビジュアルな環境でプログラミングできる。
Squeakの発展系「Scratch」の日本語版が登場
![mit01.jpg](mit01.jpg)
ケイ博士のライフワークであるコンピュータリテラシー教育の系譜に連なるのが、先進的なコンピュータ研究で知られるMITメディアラボのミッチェル・レズニック(Mitchel Resnick)教授が推進する教育用プログラミング環境「Scratch」(スクラッチ)だ。
1月17日に東京で行われたMITメディアラボの研究成果発表の場に登場したレズニック教授は、現在教育が抱えている大きな問題の1つはカリキュラムや教材が前世紀初頭の古い社会を前提としていることにあると指摘する。現在、経済成長を支えているのは金融革命にしろITやバイオ、ナノテクなど技術分野にしろ、知的なイノベーションだ。しかし学校のカリキュラムは相変わらず知識偏重のままで、知的創造の訓練はない。むしろ、ブロックを組み替え、絵を描き散らして遊んでいる幼稚園児たちこそが、理想的な学習をしているのだという。
レズニック教授はいう。「子どもたちは、まずあれこれと頭で考え、作り、そして遊びます。作ったものを、ほかの子どもたちと共有して、またそこで考える。そうしたサイクルの中で多くのことを学びます。こうしたモデルを物理的な環境だけでなく、仮想環境でも作りたかったのです」。教授がMITで属している研究グループの名前は「ライフロング・キンダーガーテン・グループ」、つまり生涯学習ならぬ、“生涯幼稚園”だ。
MITメディアラボから世に出た物理的な教育用おもちゃでは、「MINDSTORM」が挙げられる。センサーやアクチュエータを制御するプログラミングが可能なロボットとしてレゴ社から発売され、商業的にも成功を収めた。「電子的なおもちゃはいくらでもありますが、それらの多くは、あらかじめプログラムされたことしかできず、子どもたちは反応を見て楽しむだけです」。
![mit02.jpg](mit02.jpg)
そう話すと教授はおもむろに壇上のテーブルに用意してあった猫のぬいぐるみに歩み寄り、頭に手をかざした。「ニャー」。ぬいぐるみには光センサーが備わっており、一定以上の光量が検出されれば“ニャー”と鳴くとプログラミングしてある。こうしたおもちゃに触れて自分でプログラムすることで、子どもたちは科学技術に対する理解を深めるのだという。ツールを与えられた子どもたちは往々にして大人の想像を超える作品を作るものだという。
多くの電子的おもちゃが非プログラマブルであるのと同様に、PCの世界もゲームにしろウェブにしろ、子どもたちが創造的遊びができるツールは少ない。Scratchは、そうした数少ないツールの1つだという。
Scratchでは、命令は、すべて短冊状のブロックで表現される。この短冊を自由に並べて、「forever」「when」「if」などのループ・制御構造ブロックで囲むことで処理の流れを表現する。ループに新たに命令を追加すると、いちばん外側のループブロックが自然に大きくなるなど、非常に直感的なインターフェイスだ。例えば、マウスを左右にスライドすることで写真にマウスの移動量に応じたエフェクトをかけるといった処理が行える。
命令群はあらかじめ用意されているものだけでなく、追加開発することでハードウェアの制御も行える。例えばNECはMITメディアラボとの共同研究として、同社の小型ロボット「PaPeRo」向けの命令群を試作。Scratchを用いてPaPeRoを音楽に合わせて踊らせたり、人間の顔がある方や声がする方を振り向かせるなどのデモンストレーションを行っている。
![mit03.jpg](mit03.jpg)
![mit04.jpg](mit04.jpg)
![mit05.jpg](mit05.jpg)
YouTube型サイトでオープンソース的発展
Scratchには、Scratch版YouTubeともいうべき、プロジェクト共有サイトがある。自分が作成したプログラムを公開して、他の子どもたちと共有する場だ。人気ランキングやコメント欄があるなど、今どきのコミュニティサイトだ。Scratchの画面上には「Share」ボタンがあり、ワンクリックで自分のプロジェクトをアップロードできる仕組みが用意されている。
驚くのは、このコミュニティの活発さだ。レズニック教授によれば、昨年5月に英語版Scratchをリリースして以来、すでに6000を超えるプロジェクトが登録されているという。中には多くのクローンゲームがあり、テトリスに似たゲームもある。最初は白黒表示の素朴な実装だったものが、どんどんバージョンアップされ、カラー表示やスコア表示に対応したものが登場するなど、子どもたちがオープンソースコミュニティ的な「プログラムの共有と開発」を行っているのだという。
同サイトのユーザーの年齢層は12才にピークがあるものの、幅広い年齢層のユーザーがいるという。レズニック教授は、Scratchを子どもたちのためだけではなく、これまで自分でPCやハードウェアをプログラムする術を持たなかったあらゆる年齢層に対して提供していきたいと話す。
![mit06.png](mit06.png)
![mit07.jpg](mit07.jpg)
創造的な社会へ向けて
Scratchに限らずプログラミング言語用インターフェイスを用意すれば、エアコンやテレビ、HDDレコーダーといった家電を自由に操作することができる。現在、そうした手段が提供されていないのは技術的制約というよりも、「一般ユーザーにはプログラミングができない」という暗黙の前提があるからに過ぎない。子ども時代にScratchのような環境でプログラミングの概念を学んだ子どもが成長し、ユーザーの大半となれば、HDDレコーダーの足りない機能を自分で実装したいと考える人が増えるかもしれない。そうなればケイ博士がいうように誰もが何らかのプログラミングをする時代がやってくるだろう。レズニック教授はいう。「物理的な世界であろうと仮想的な世界であろうと、ありのままのものを使うだけでなく、次の世代の子どもたちには自分たちを取り巻く世界をコントロールできるようになってほしい。そうすることで、未来の偉大な思想家や開発者が創造的な社会を作っていく下地ができてくるのだと思います」。
関連リンク
関連記事
情報をお寄せください:
- プログラムの実行はどのようにして行われるのか、Linuxカーネルのコードから探る (2017/7/20)
C言語の「Hello World!」プログラムで使われる、「printf()」「main()」関数の中身を、デバッガによる解析と逆アセンブル、ソースコード読解などのさまざまな側面から探る連載。最終回は、Linuxカーネルの中では、プログラムの起動時にはどのような処理が行われているのかを探る - エンジニアならC言語プログラムの終わりに呼び出されるexit()の中身分かってますよね? (2017/7/13)
C言語の「Hello World!」プログラムで使われる、「printf()」「main()」関数の中身を、デバッガによる解析と逆アセンブル、ソースコード読解などのさまざまな側面から探る連載。今回は、プログラムの終わりに呼び出されるexit()の中身を探る - VBAにおけるFileDialog操作の基本&ドライブの空き容量、ファイルのサイズやタイムスタンプの取得方法 (2017/7/10)
指定したドライブの空き容量、ファイルのタイムスタンプや属性を取得する方法、FileDialog/エクスプローラー操作の基本を紹介します - さらば残業! 面倒くさいエクセル業務を楽にする「Excel VBA」とは (2017/7/6)
日頃発生する“面倒くさい業務”。簡単なプログラミングで効率化できる可能性がある。本稿では、業務で使うことが多い「Microsoft Excel」で使えるVBAを紹介する。※ショートカットキー、アクセスキーの解説あり
![]() |
|
|
|
![]() |
キャリアアップ
- - PR -
転職/派遣情報を探す
「ITmedia マーケティング」新着記事
推し活グッズが海外で大人気――メルカリ「越境取引2024年上半期トレンド」
メルカリは海外からの日本の商品の購入状況をまとめた「越境取引2024年上半期トレンド」...
10代の半数以上が「エコ疲れ」――博報堂「生活者のサステナブル購買行動調査2024」
社会環境のためになる行動として「サーキュラー(循環)」や「シェア」の意識は浸透して...
「かわいい」だけでは売れない 子供服大手「カーターズ」のCMOが古い常識を疑うに至ったデータとインサイト
米国のキッズアパレルブランドCarter’sのCMOであるジェフ・ジェンキンス氏が、新世代の...