なぜ、子供たちが試行錯誤しながらプログラミングするかを補足すると、もちろん楽しいからである。そして、なぜ楽しいかというと、自分たちにとって意味があるからだ。

 ゲームを作りたい子供は、敵キャラがいて、敵キャラと戦うとヒットポイントがゼロになって、アイテムをとると回復して、最後にボスキャラが登場して、というようなことを次々と思い付き、その実現に向けて目の色を変えてプログラミングする。自分がやりたい目標を達成するためであれば、子供たちは自分の時間を使うことを全く惜しまないし、そのためなら代数や三角関数の勉強もする。

PEGのイベントにて(写真/都築雅人)

 これに対して学校の勉強はどうか。例えば、太郎くんと花子さんがいます、お皿の上におまんじゅうが3個あって、そのうち2個を食べると残りは何個でしょう。こうした問いを楽しく感じ、それを解くことに意味を見いだし、自らの目標にできるか。かなり難しいだろう。

 ものづくりを通した学習法(構築主義)を提唱したシーモア・パパート氏の言葉を借りれば、「子供たちが真剣に問題に取り組むときは、自分たちにとって意味のあることをやっているときだけだ」ということだ。

プログラミングは本当の学びになり得ると。

 そうだ。プログラミング、さらにはアラン・ケイ氏の言うコンピュータの本質的な特徴である「コンピュータはプログラム次第でどんなものにでもなり得る、メタメディアである」ということが、その子なりの興味・関心に沿ったものを作り得るという意味で、本当の学びになると考えている(関連記事「アラン・ケイが予測した『子供たちのパソコン』」)。

プログラミングツールの中でもScratchにこだわる理由は?

 Scratchの場合、簡単に使えるのがよい。まず、起動した直後にやるべきことが画面の中に見えている。テキスト言語の場合、シェルを起動した直後はプロンプトしか出ていなかったりするが、Scratchの場合は画面上に命令の一覧や命令を与えるネコがすでに表示されている。例えば、「10歩動かす」という命令のブロックがあって、これをクリックするとネコがその通りに動く。できること、やりたいことがすぐに分かるので、使うときのハードルがとても低い。