2019年9月23日月曜日

義務教育の子供にとってプログラミング教育は必要か?@バンコク

バンコクのプログラミング教育



2020年から義務教育でプログラミング教育が必修となる
との情報を耳にした教育熱心な保護者の方の中には、
プログラミング教育をわが子にも習わせた方が良いのか?
と考えられている方もいらっしゃるのかもしれません。


そこで今回はTJが考えるプログラミング教育について
少しでも参考になることがあればと思って書いておきますね。



義務教育で必修となると噂のプログラミング教育ですが、
何かしらのプログラミング言語を学ぶのではなくて、
プログラミング的な思考を身に着けるということいとどまっています。



プログラミング言語なんて複数ありますし、
用途によっても変わってきますよね。


さらにいうなら、子供たちが大人になったときに、
今習ったプログラミング言語が主流か亜流かなんて
判断することは実質的には不可能に近いことです。


そこでプログラミングに必要になることは、
プログラミング的な思考だということで、
算数や理科の一部にプログラミング的な思考を有する時間を
組み入れるというのが現段階での義務教育のプログラミング教育です。


私は元教師として
プログラミングに触る程度なんじゃないかな?
と予想しています。
現場は混乱して、教える先生によっても大きな差がうまれ、
ほとんど触れないクラスもありそうです。


そんなことより、
そもそもプログラミング的な思考とはなんぞや?
という話になるかと思います。



以下、プログラム的思考についての文部科学省の定義です。

「自分が意図する一連の活動を実現するために、どのような動きの組合せが必要であり、一つ一つの動きに対応した記号を、どのように組み合わせたらいいのか、記号の組合せをどのように改善していけば、より意図した活動に近づくのか、といったことを論理的に考えていく力」


Cという結果を得るために、
Bというプロセスが必要で、
そのプロセスの前段階としてAというプロセスが必要
というように逆算で考えていき、
さらによりよいプロセスを得るためにAダッシュ、Bダッシュという
プロセスも含めて最適解を導こうという思考です。


もしくは、Cという結果を得たいがために、
まずはAやBというプロセスをランダムに、ときに意図的に組み合わせ、
その結果、AからBという流れを習得して、
Cという結果を得るという思考も
プログラミング的な思考の説明になりそうですね。



このようなプログラミング的思考を理解したのち、
そのプログラミング的思考を身に着けるために、
本当にプログラミングを使った教育でなければだめか?
と疑って考えることも大切だと思います。



実は今いったプロセスは、
算数や国語で鍛えることはできるのです!


算数では、公文などの単純な計算ではなく、
質の高い文章題の応用問題を解くときの思考の流れは、
答えを出すために、既存の知識を組み合わせ、
解法を段階的に導いていきます。
まさにプログラミング的な思考です。


また、頭の中で仮説も立て、
解法が思いつかないときに、
既存の知識をまずは組み合わせてみたり、
図形を既存の形に切ってみたり、付け足してみたりと
力技をしているうちにひらめくなんてこともあります。


これはかなり質の高い思考訓練で、
数学的思考はプログラミング的思考を包括していると言えます。



国語でも、物語より説明文では、
プログラミング的な思考を鍛える読み方が可能です。


説明文の各段落が有機的につながって結論を出すというプロセスは、
まさに論理的な思考を鍛えるにはうってつけです。


段落の内容を抽象化するという思考だったり、
抽象的に説明されたまとめから具体的な一般化を読み取ったりする活動は、
まさにプログラミング的思考です。



これらのことを踏まえたうえで、
プログラミング学習を学校外で習う必要があるのか?
ということを真剣に考えてもらいたいなと思っています。


巷で流行りだからといっても
ゲーム的なプログラミングを習うということは、
テレビのCMが頻繁に流れるからよい品物だと勘違いしてしまう思考と
似ているために注意が必要です。



「でも、子供は楽しんでいるんです。」
「行きたいって言うんです。」


という声も聞こえてきそうです。


子供が楽しむことが目的で行くなら全く問題ないと思います。
ただ、目的が「プログラミング的思考を身に着けるため」
であるなら、再考が必要だと言いたいのです。


そもそもゲームは子供が好きなんで、
そこにプログラムという名前がついたら、
ある意味合法的に自由にゲームができる環境を手に入れることになります。
それは子供はうれしいに決まっています。


そのゲームに費やした時間で得られたプログラミング的思考は、
算数や国語の問題で得る思考と比べて、
どっちが思考の高まりを期待できるのか?
ということを考えたとき、
私は算数、国語で鍛える思考の方が良いと考えています。


算数が得意な子が社会で活躍する可能性が高いのは
論理的な思考を十分に鍛えられるからです。


プログラミング的思考と論理的思考は若干違いますが、
社会で役に立つ能力であるということでは共通点があります。


企業の社長には読書家が多いのは有名なことです。


国語で鍛えられた読解力をもった人が読書をすれば、
読解力がない人よりも本の本質を学ぶことができますし、
その知識を一般化したり、抽象化したりと
より人生に応用することができます。


読解力はプログラミングでは高まりません。



何事も流行りがあり、
プログラミング教育もその一環だと思います。


高い授業料を払い、
有限な時間を費やすことで機会損失が生まれます。


その時間に子供たちができていたことが
できなくなるのです。


お子様の未来にとってプログラミング的な習い事は
本当に必要なことなのか?



将来、高校などでプログラマーになりたいと志望した子が
習うのでは良いのではないか?


義務教育の時期の子供たちを抱える保護者の方は、
今は静観していた方が良いのではないかと思います。


人間は流行りに弱い生き物です。
だからこそ、ちょっとじっくり考えてもらいたく、
今回はちょっと批判的になってしまいましたが、
本音で記事を書いてみました。


TJブリッジは勉強を通して人間として成長してもらいます。


算数、国語を通して、
思考力を高めるのは当然のこと、
人間としての課題も見つめてもらいながら成長してもらいます。


将来必要か必要でないかわからないプログラミングではなく、
算数と国語という絶対に消えることのない必要な科目を通して
思考力を高め、人間の本質を高めていけるよう指導しています。


ぜひ、興味がある方はHPをご覧ください!
バンコクの学習塾TJブリッジ