プログラミング教育は必要?子供をプログラミングスクールに通わせる前に親が理解すべき3つのポイント
2020年から小学校でプログラミング教育が実施されます。
親である自分がプログラミング教育の目指すものについて、理解しておかねばならないという理由から、この本を読みました。
読後の感想は次のとおり。
理由は次のとおり。
・プログラミングは、論理的思考力を培うものである
・プログラミングは、異文化コミュニケーションである
・プログラミングは、物事の本質理解につながるものである
1つずつ説明していきます。
目次
プログラミングは、論理的思考力を培うものである
プログラミング教育と必ずセットで言われる「論理的思考力」。
論理的思考力とは、私の解釈では、因果関係がわかるように筋道を立てて説明すること。
例えば、
「月曜日は自殺が多い」
これだけではなぜ自殺が多いのかわかりません。
月曜日は、休み明けの出勤日だ
→2日間の休みの後に出勤するのは憂鬱だ
→上司にまた嫌がらせを受けると思うと出勤したくない
→ノルマを達成できていないし、営業に行くのもストレスだ
→電車に飛び込んでしまう人が他の曜日より多い
極端な例ですが、このように説明すると「月曜日は自殺が多い」理由がわかりやすくなります。
社会人でしたら、「月曜日は自殺が多い」の理由は想像できるかもしれません。しかし、プログラミングの相手はコンピュータ。コンピュータは、空気を読んだり、行間を読んだり、推測してくれたりなんてしてくれません。論理がすべてです。
「とにかくわかりやすく説明しろ。説明が下手なら動かないぞ」というのがコンピュータの主張です。
「あなたの言っていることは論理的かどうか?」、つまり「そのプログラムは論理的かどうか?」の観点から判断します。論理が破綻していれば、プログラムを書いた人の意図した通りに動いてくれません。
プログラミングでは毎回、論理が立つことが求められるので、プログラミングをすることで、論理的思考力が身につくということなんですね。
プログラミングは、異文化コミュニケーションである
この本で特に面白いと思ったのが、プログラミングは異文化コミュニケーションであるという点です。
中国にいたとき、こんなことがありました。
夜中の3時半に、私の乗る列車が吉林省のある小さな町に到着しました。
訪ねる予定だった、その町に住む中国人男性に「何時に到着するんだ?」と事前に聞かれ、私は朝3時54分と答えていました。
すると、駅を出るとその中国人男性と奥さんが私を待っているではありませんか。時刻は早朝4時前。冬なので真っ暗。しかも気温は氷点下。
私は既にホテルを予約していましたが、「いいから、いいから、とにかく朝まで俺んちで寝ていけ」と自宅に案内され、私は彼らの寝室で休ませてもらうことに。
二人は他の部屋で休んでいたようでした。
彼らにとって私は異国から来たポンヨウ(朋友=友達のこと)。ポンヨウが自分たちの町まで訪ねてくるなら、おもてなしするのは当然。真夜中だろうが迎えに行くのは当然。
次の日から始まった連日のごちそうと白酒の”おもてなし”に、私は連日トイレに駆け込むことに。
中国と日本の文化の違いを全く知らなかった私は、彼らの行動にただただ圧倒されたのでした。
これは異文化の一つの例にすぎません。
著者は、プログラミングも同じだと言います。
私が中国人の彼らに「私は白酒は飲めないんだ」と一度伝えても、次の瞬間にはコップがお酒でいっぱいになっていたり、
「お酒はこれ以上はちょっと・・・」と伝えても、「干杯干杯(乾杯のこと)」とビールを注がれてしまうように、
コンピュータにも、これでもかというくらい細かく指示しないと、コンピュータは理解しないということです。
「どうして、ここまで細かく言わないと、理解してくれないんだ!もう、ほっといてくれよ!!」と発狂しそうになる経験を私がしたように、
コンピュータにも「ここまで言わないとわからんのか!」というほど、細かく指示しないと、コンピュータは理解しないということです。
コンピュータは2進法を使いますが、人間は10進法に慣れていますよね。
コンピュータと人間とでは、基盤となる文化が異なります。
コンピュータに指示する場合、文化の違いを理解した上で、相手(コンピュータ)がわかるように指示しなければなりません。
私が中国人男性の親切心を傷つけないように、自分の気持ちを説明するのに大変苦労したように、文化・習慣の異なる相手に理解してもらい、行動につなげてもらうことは、大変骨の折れることです。
理解してもらうには、
①相手を理解する
②相手に説明する
必要があります。
①を飛ばすことはできません。こちらの意図を理解してもらう大前提が、相手を理解することです。
プログラミングではこの2つが欠かせないので、著者の言う通り、プログラミングとは「自分とは違う他者について考え続ける」こと、つまり異文化コミュニケーションなのですね。
「どうしてわかってくれないんだよ!」と頭をかきむしりたくなる経験の繰り返しこそが、プログラミングの醍醐味と言えるのかもしれません。
Aでダメなら、Bを試そう。Bでダメなら、Cで試そう
この繰り返しを、一番空気を読めない相手に日常的に行うことで、他者は自分とは違うのだという理解が根付き、違いを受け入れ、理解した上で、相手にわかってもらうための工夫ができるようになるのだと思います。
プログラミングは、物事の本質理解につながるものである
これは先ほどまでの、
相手が理解できるように、かみ砕いて、順序だてて説明する
と一見矛盾するように思えるかもしれません。
具体例で考えてみます。
例えば、正三角形。これをプログラミングするにはどうしたらいいでしょう?
正三角形をプログラミングする場合、正三角形の本質を理解していなければ、プログラムを書けません。
・3つの内角がすべて等しい
・3辺の長さが等しい
・一定の長さ進んだところで、120度動かす
このような理解があってはじめて、プログラムを書くことができます。
正三角形について思い浮かべるすべての要素、特徴のうち、本質だけを残し、他はそぎ落とすことで、最もわかりやすいプログラムにたどり着けます。
私自身、プログラミングをしたことがないので他の事例の場合はわかりませんが、少なくとも算数のトレーニングとして有効だと思いました。
上記3点から、プログラミング教育はとてもいいと思う
👆これが私の結論です。
文科省は、プログラミング教育の導入は技術を学ぶことではないと明言しています。
これは文科省の「プログラミング教育の手引き」からの引用です。
プログラミングに取り組むことを通じて、児童がおのずとプログラミング言語を覚えたり、プログラミングの技能を習得したりするといったことは考えられますが、それ自体をねらいとしているのではないということを、まずは押さえておいてください。
ただ、導入後、教育現場での運用が安定するまでは、学校によっては形骸化した授業を行ってしまう可能性が考えられます。
本来のプログラミング教育が機能するように、親が民間のスクール・教室を利用したり、自宅で実践することもできますが、まず親がプログラミング教育の目的を知り、理解することが最も重要だと感じました。
もう1つ重要だと感じたことが、親こそが勉強すべきであるという点。
プログラミングのやり方に限らず、教養全般に関する勉強です。
例えば、先ほどの正三角形の事例は、この本で素晴らしいと紹介されていた授業設定の1例です。
同時に、教育現場の限界や負担増大を示す1例として紹介されていたものです。
生徒が思いつくであろうアイディアを教師が洗い出し、サンプルプログラムを作るのは大変な作業量です。素晴らしい教育プログラムも、現場の実行可能性が追い付いていかなければ機能しません。おそらく、導入後しばらくは、うまくいかない事例が生じることと思います。
そんな場合に、子供に適切なガイドをしてあげられるよう、親自身が勉強すべきだと思います
子供にあーだこーだいう前に、私が説明する力、論理的に考える力、本質を理解する力、相手を理解する力をつけていこうと思いました。
プログラミング教育って要するにどういうこと?という疑問を、この本が解消してくれました。
そして、論理と言えば、出口先生。次はこちらを読んでみます。
こちらの記事もおすすめ
【2020年教育改革から考える】今、親たちに求められる本当の教養とは
STEM教育から見る、子ども向け3Dプリンタの洋書の紹介 ”Cutting-Edge 3D Pringting”