先日たまたま知ったのですが,小学校5年生では種の発芽条件(水,空気,温度)を7時間かけて習うそうです.これを学ぶことに特に異論はないのですが,プログラミング教育がいじめられている立場からすると,「将来,だれもが農家になるわけではないが,種の発芽条件を学ぶことは大切である」というような言い方をされているわけです.
種の話は,たとえば植物が育つには日光と水が必要であるとか,土と肥料が必要である,というようなことも習います.で,中学の理科になると被子植物と裸子植物という分類も習います.シダ植物とかコケとか.植物全般の話にまで広がります.
逆方向には,植物には食べられるものと食べられないものがあって,食べられるものにはキャベツのように葉を食べるものとか,ニンジンのように根を食べるもの,実や種を食べるものなどに分類されます.さらにニンジンは生でも食べられるけど,熱を加えると甘くなるという調理法にまで広がります.
植物全体に対して,さらに上位には植物以外のもの,動物とか菌類といった大きな分類があります.動物は脊椎動物と無脊椎動物に分かれ,ほ乳類,魚類,鳥類に分かれて,人間がやっと登場します.動物にも食べられる動物と食べられない動物がありますが,人間の食物という点に関しては宗教や倫理観の話にまで広がります.
動物・植物といった生物に対して,無生物というのがあります.無生物には金属とか鉱物といった分類や気体,液体という分類もありますね.有機化合物と無機化合物という分類もあります.無生物には人工物と自然物があって,人工物には包丁といった道具や飛行機,自動車という分類もあります.家とか都市計画とかの話もありますね.
これらは物ですけれど,それに対して,電磁波という物じゃない現象も重要です.物はニュートン方程式に従いますが,電磁波はマックスウェル方程式に従います.電磁波にも光とかラジオ電波とかに分かれたり.
世の中はこういったとても大きな・広い学問体系の上に成り立っています.
ところが,ここに新しく「情報」というカテゴリーが登場したのです.情報は物と対立する概念としてもとらえられますが,たとえば生物の遺伝子の中にも使われていたり,電磁波で遠くまで伝搬したり,完全に分離できるものではありません.いろんな分類の中の新しい視点といった方が良いと思います.
情報の中には,遺伝子のようなものもありますが,規則に従って意味を表現する言語のようなものもありますし,いま注目しているコンピュータは自動的に計算する装置ですね.コンピュータもさらに分類されます.いろんな計算ができる汎用のコンピュータもありますが,特別な計算に特化して高速に動くコンピュータもあります.さらにコンピュータに命令を指示する方法もいろいろあるし,命令列を自動的に生成する方法もあります.自動的に生成する方法はプログラミング言語のひとつですが,さらにプログラムをどのように書くか,書いたプログラムをどのように修正するか,という話もあります.
さらにはコンピュータによって世の中がどう変わるのか,著作権の問題とかメディアリテラシーの問題とか.さらには人工知能が人間の仕事を奪うという話.起業して社会的に大きなインパクトを与える話.いろいろとありますね.
コンピュータにまつわるいろんな問題を全部含むくらいに風呂敷を広げたら,今度は音楽とか小説といったものも含めなきゃいけなくなりますね.
プログラミング教育を考えるときに,まずはこれくらい大きな視点で,一体コンピュータとはなんなのか,と考えるのが大切じゃないかと思います.
で,最初の話にもどって,発芽の3条件に相当するような基本的なもの,さらに植物の料理からの視点とか農業に相当するような,コンピュータの基礎的なものをちゃんと示さないといけないですね.
我々がビスケットを体験してもらった後で言っていることを少し抜粋しますと,メガネ(命令)は単純なことしかできないけれど,それらを組み合わせて複雑な動きが作られている.物と情報の違いは移動と複製.コンピュータは正確に繰り返し実行する.こんな感じです.まだいろいろとありそうですよね.