マサチューセッツ工科大学(MIT)の Mitchel Resnickは、ディジタルネイティブと呼ばれる人々について以下のように述べている。
「若い人たちの多くはただディジタルメディアを使っているだけで、ディジタルメディアを使っての何かの創造は行っていないのです。」
ディジタル機器の多くはインタラクティブであり、それを使って通信したり、情報にアクセスしたりするにはタッチパネルなどのユーザインタフェースを介して操作する必要がある。ディジタルネイティブと呼ばれる人々は、この操作に長けている。しかし、そこで行っていることは、ほかの誰かが作ったコンテンツの消費に過ぎない。
プログラミング言語の習得ではなく、プログラミングやそれに付随したデバッグという行為そのものが子どもたちの心的枠組み (schema)の構築につながるというアイディアは1960年代にMITのSeymore Papertによってもたらされた。その実践のために作られたのがLOGO言語である。1968年にLOGOを見たAlan Kayは、これからイ ンスピレーションを得て、1972年に「すべての年齢の子供たちのためのパーソナルコンピュータ」 1) すなわち、Dynabookを着想し、それがSmalltalk、 GUI(Graphical User Interface)、オブジェクト指向などにつながる。
Papert の指導を受けた Rasnick は、Kay の Squeak EtoysやRandy Pauschが開発したAlice、 Alexander RepenningのAgentSheetsなどを参考にScratchというプログラミング環境を開発する。 Scratchには以下の特徴がある。
- 文法エラーの生じないビジュアルプログラミング(文字入力とプログラミングの間に本質的な関係はなく、文字入力に習熟していない段階での苦痛を軽減する)
- メインルーチンのないスクリプトの並列実行(現実の世界は非集中的で複数の事物が並列に動いている)
- 属性値やスクリプト変更の実行中即時反映(コンパイルやリンクが必要なのは計算機の都合である)
- メッセージ送信によるオブジェクト間の連携(現実の事物はメッセージを交換することで処理を進めている)
Rasnickは、プログラミングを単なる職業訓練ではなく表現の新しい形式や学びの新しい文脈と定義している。そのため、 Scratchには、アニメーションやゲーム、音楽といった要素が取り入れられている。ただし、それらは CAIによくあるように何かを達成した報酬として与えられるのではなく、自分で作り得る可能性として示されており、アイディアをプログラムとして表現しなければ何も起こらない。
Scratchは、子どもたちの遊びを観察することから得られた「想像、作成、遊び、共有、振り返り、 想像…」という螺旋構造(Creative Learning Spiral)を支援するために作られている。そのため、動画共有サイトによく似た作品共有サイトhttp://scratch.mit.edu/ が用意され、世界中の子どもたちが協働して作業する環境として機能している。共有された作品数は1000万個、登録ユーザ数は700万人である (2015年7月現在)。これらの作品はクリエイティブコモンズ(CC BY-SA)に従って、自由に改変できる(これをリミックスと呼ぶ)。
ところで、従来、子どもたちがプログラミングをするための教育用コンピュータは、パソコン教室に据え置きになっていることが多く、子どもたちは自由に使うことができない。紙や鉛筆であれば、いつでも文字を書き、絵も描けるが、パソコンを使えるのは許可された特別な時間だけである。これを日々の創造的活動の手段と考えるのは、教職員にとっても児童にとっても難しい。MITメディアラボの創設者であるNicholas Negroponteは「子供1人に1台のノートパソコン」が必要と考え、2006年にOLPC(One Laptop Per Child)というNPOを立ち上げた。
また、ケンブリッジ大学のEben Uptonは、スマートフォンやタブレットの台頭により、子どもたちがプログラミングを学ぶための手軽なパソコンがなくなっていることに危機感を覚え、20ドルから 35ドルというきわめて安価なシングルボードコンピュータ Raspberry Piを2012年に開発し た。Raspberry Piは、スマートフォン用のSoCを搭載し(ARMv6 もしくは v7,1 ~ 4 コア,700 ~ 900MHz, RAM 256MB ~ 1GB)、USB 2.0 や HDMI, 100BASE-Tと言った標準的なインタフェースを備えている。また、HDDの代わりにSDカードを用い、 Linuxを始めとするオープンソースソフトウェアが 用意されている。
加えて、GPIO(汎用入出力端子) が用意されているため、センサやアクチュエータの接続も容易である。 標準 OS の Raspbian は X Window と LXDE に よるデスクトップ環境を備え、PythonやC/C++、 Ruby、Scratchなど豊富なプログラミング言語を使うことができる。 Raspberry Piはシングルボードコンピュータとして一般的なものになっており、2015年2月現在で 500万台が出荷されている。
Scratchは、日本でも各地の小中高校や大学、NPOのワークショップ、企業のプログラミング教室などで使われているが、中には知識を問う試験問題で評価したり、画面ロックなどの授業統制と組み合わせたりするなど、必ずしもRasnickの考えに沿っていないものもある。また、Raspberry Piも、教育目的というよりLinuxが動作するGPIOを備えた安価なマイコン基板として、電子工作マニアに使われている傾向がある。
なお、本記事の内容の詳細は、以下の情報処理学会誌2015年04月号の特集「初等中等教育におけるICTの活用」解説論文『子どもの創造的活動とICT活用』をご参照ください。
https://www.ipsj.or.jp/magazine/kyouiku-ict.html