『メディア情報リテラシー研究』という法政大学の坂本旬氏が中心になっている研究誌に掲載された、ダヴィッド・バッキンガム「なぜ子どもはプログラミングを教わるべきではないのか?」という短い文章を読んだが、プログラミング教育が必修になった日本の情報を考える上でも、興味深い論文であった。日本で、2020年から、小学校から高等学校まで、プログラミングが必修になったわけだが、少なくとも、当分の間大きな成果があるとは思えないし、次の学習指導要領で方向転換がなされたり、あるいは修正がなされる可能性は高い。日本のICT活用を進めるために、学校でのプログラミング教育を必修にすることが、本当に適切なのかは、大いに議論する余地があると思うが、特段大きな反対もなく決まってしまったような印象だ。
バッキンガム氏の論を検討する前に、文科省の発行している「小学校プログラミング教育の手引き(第三版)」を見てみよう。(以下「手引き」)
「手引き」は、プログラミング教育を導入する理由をあげているが、箇条書きに整理してみた。
・コンピューターを理解することは、現代の生活に必須であり、その中心はプログラミングである。
・子どもの可能性を広げる
・あらゆることにコンピューターが必要であり、活用する力を身につけることは、どのような職業に就くとしても必要。
荒っぽい言い方になるが、私はコンピューターを理解することが、現代生活を営む上で必須だとは思わない。かなりの程度、コンピューターを自分の仕事に必要な限りで活用できることは必須だといえるが、それはコンピューターを理解することと、同じではない。車を運転することと、車が何故走るのかを理解することは別であり、理解しなくても、運転することには困らないのと同じである。特に義務教育段階では、本当に国民のほとんどの人にとって必要なことを教えるのであって、それは、コンピューターに関しては、活用技術だろう。ハードウェア、ソフトウェア、通信の仕組み等々の内部の構造に関わる理解や技術は、全員に必要なことではない。しかも、それらは、かなり異なった領域に属する専門的な知識、技術である。だから、専門家になる者にとっては必須ではあるが、国民全体にとって必須とはいえないのである。プログラミングも基本的には専門領域だろう。したがって、3番目は同意できる。
次に「手引き」は、プログラミング教育で育む力について書いている。それは
・プログラミング的思考
・コンピューターによって情報社会が支えられていることを理解し、コンピューターを活用することで問題を解決したり、社会をよくする態度を育む
・各教科を確実に学ぶ
プログラミング的思考については、「自分が意図する一連の活動を実現するために、どのような動きの組み合わせが必要であり、一つ一つの動きに対応した記号を、どのように組み合わせたらいいのか、記号の組み合わせをどのように改善していけば、より意図した活動に近づくのか、といったことを論理的に考えていく力」としている。さすがに、プログラミング的思想を論理的思考と同一視はしていないし、プログラミング的思考が、論理的思考を促進するとも書いていない。しかし、逆にいえば、では何故、義務教育において、プログラミング的思考の育成が必要なのか疑問に思えてくる。「問題を解決したり、社会をよくする態度を育む」というのであれば、むしろ、いわゆる「問題解決学習」的な方法のほうが、汎用性があるのではないだろうか。プログラミング学習を取り入れることで、各教科を確実に学ぶことができる、という目標を実現するためには、教師にかなりの専門的な力量を求めることになる。私には、かなり空想的なことのように思われる。
さていよいよは、バッキンガム氏の論を紹介しよう。
まず氏は「イギリスでプログラミング教育は1970年代にあったが、廃れてしまった」と書いている。そして、ベン・ウィリアムスの「プログラミングはコンピューター科学と同じものではなく、プログラミングはローレベルのものと考えられていた」という考えを紹介している。
日本ではどうだったのか。メインフレームを使ったことは、私はまったくないので、その時代のことはわからない。少なくとも、その時代は、プログラミングを学ぶ人は、完全に専門家だったのではないだろうか。そして、パソコンが登場したときには、私は学生であり、自分で購入して使い始めたのは、大学の博士課程になってからだった。1970年代のことだった。しかし、コンピューターに興味のある青年や少年たちは、独自に勉強して、かなりの技術を修得する者も少なくなかった。私は、当時生活のために家庭塾をやっていたのだが、その生徒に、非常にコンピューターに詳しい者がいて、私は、自分のコンピューターのために、ロシア語ワードプロセッサーをつくってくれないか、と頼んだところ、引き受けてくれて、簡単なロシア語を打ち込めるソフトを作成してくれたものだ。彼が、その後どのような人生を歩んだからわからないが、コンピューターの道に進んだとしたら、かなりの専門家になったのではないだろうか。中学生だったから、今から考えるとかなり驚きだ。しかし、その後既成のゲームなどが主流となり、ゲームを自作するような子どもたちは、だんだん少なくなっていったのではないだろうか。もし、日本のコンピューター教育が、もっと自由な雰囲気で行われ、学校に自由に使えるコンピューターを数台置いておくような状況だったら、現在のようなIT活用後進国にはならなかったに違いない。1970年代の状況が廃れたというのは、日本も同じような状況だったといえるのだろう。
バッキンガム氏は、プログラミング教育には、ふたつの議論があるとする。
第1に、論理的・手続的思考を教える道具とする議論である。これは、学習の転移に基づく考えで、プログラミング学習が論理的思考を形成する証拠はないとして、あっさりと退けている。日本の文科省は、この立場をとっていないことは、上に書いた。
第2に、経済の論理から考えるものである。日本も、基本的にこの立場でプログラミング教育を導入したといえるだろう。
スキルをもつ人が不足しているので、コンピューター科学の必修化によって解決するというが、コンピューター科学の卒業生は就職に困っている。社会のなかで、欠けているスキルが、プログラミングかは疑わしいともいう。つまり、バッキンガム氏によれば、経済的な問題を、コンピューター科学の必修化で解決する保障はないということだろう。(もっとも、日本では多少事情が異なるようには思われる。コンピューターを専門に学んだ人の就職は悪くないはずだし、他の専門の学生でも、コンピューターの会社に就職しているくらい、人材が不足しているのだろう。)
結局、子どもが自発的に学びたいのならばよいが、テクノロジーや社会・政治・文化に対する批判的な理解が欠けていると、必修のプログラミング教育は、子どもの教化の方法になるか、時間の無駄になるというのだ。
プログラミングというのは、基本的には、国民全体に必要なスキルではなく、専門的なスキルと考えるべきだろう。しかし、小さいころから学ぶことは、十分に意味があるとも考えられる。おそらく、かなりの時間と試行錯誤によって、修得していくスキルであるし、また、高度なレベルになるとクリエイティブな能力も必要となる。そういうスキルは、やはり、学習意欲をもっていないと育成されない。しかし、興味があり、意欲のある子どもには、十分な学習機会が与えられるべきである。それは、「手引き」に書かれている内容としては、選択的なクラブ活動や部活で行うのが適当なのではないだろうか。(つづく)