プログラミング教育の目的

『小五教育技術2017年4月号』(小学館)に宮城教育大学教育学部準教授の安藤明伸「Q&Aでわかるプログラミング教育の基礎知識」が載っていました。
 そのAの中でプログラミング教育の目的は「コンピュータとはどんなものなのかを教えること」と書いていました。

 プログラムを自分でつくってみることで、子どもはコンピュータが命令した通りにしか動かないことに気付くでしょう。命令の仕方の文法が間違っていれば当然、動かないのですが、文法が正しければ、コンピュータはなんでもその通りに実行してしまうという怖い面もあります。
 例えば、ロボットは「前に進め」とだけ命令されたら、壁にぶつかっても前へ進もうとし続けます。人間はどうでしょうか。私たち人間は、言われなくても壁にぶつかる前に止まります。それは暗黙の了解があるからです。このように、プログラミングを経験することは、人間とコンピュータの違いを知ることでもあります。そこから、人間の素晴らしさに気付くきっかけになるのではないかと思います。

 プログラミング体験を通して、コンピューターを理解し、さらにそれが対比となって、人間を理解していくことにつながる、というわけです。
 大人であれば、上記の文章を読むだけでも、コンピューターと人間の違いを理解できますが、子どもたちはやはり体験を通さないと理解しにくいのです。

(2017.11.12)

 安藤氏の言う「コンピュータはなんでもその通りに実行してしまうという怖い面」を信号機の場合で考えてみます。
 今回、プログラミング体験の授業では、歩行者用の信号機を作らせます。
 でも、実際の道路では、歩行者用信号機が青のとき、乗用車用の信号機は赤になってないといけません。
 歩行者用も乗用車用も、それぞれ赤なら、どちらも動けなくても事故は起こりにくいです。
 逆に、どちらも青になってしまったら、歩行者も渡り、車も進むので、交通事故の可能性がはね上がってしまいます。
 海外では、信号を守らずに、赤でも平気で渡ったりする歩行者や走り抜ける自動車があったりします。
 でも、それらの国では、信号を守らない人が多いという前提があるので、信号機よりも周りの交通状況を見て行動し、自分の命を守ります。
 一方、日本の場合、交通ルールを守る人の方が多いので、ひとたび、ルールを破る人がいると事故となりやすいのです。
 そんな日本で、信号機のプログラムが間違っていれば、大事故へつながります。
 これが、プログラム通りに実行してしまう怖い面といえるでしょう。

(2017.11.13)