小学校でのプログラミング教育について話題になっていますが、この教育について、あまり詳しくしらなかったのでアウトラインをなんとなく知っておいてから、考察してみようと思います。
プログラミング教育とは
プログラミング教育と言っても、コーディングまでは含まないというのがミソなようです。昭和の人間だと、プログラム=コードを書くことと思ってしまいますが、今回のプログラミング教育の目的は、「プログラミング的思考」を身に着けることです。
「小学校プログラミング教育の手引き」には、以下のように定義されています。
「プログラミング的思考」は「自分が意図する一連の活動を実現するために、どのような動きの組み合わせが必要であり、一つ一つの動きに対応した記号をどのように組み合わせたらいいのか、記号の組み合わせをどのように改善していけば、より意図した活動に近づくのか、といったこを論理的に考えていく力」
要するに、問題についての最適解を論理的に導き出す力をつけようということです。
たとえば、正多角形を描く際に、いろいろな方法がありますが、より手順が少なく、正確な手順で描くにはどうすればいいかを考えるようなことです。
限られた命令、条件などの手順を考慮して、トライアンドエラーで最適な組み合わせを探すことで自分なりの考えを身に着けることが目的になるでしょうか。
この「自分なりの考え方」というのは非常に重要だと思います。人から正解を教えてもらえば最低コストで問題を解決できますが、将来のビジネスでは通用しない思考方法でしかありません。そういう意味では、実践的な教育の試みと言えそうです。
プログラミング教育が必要な背景

この「プログラミング教育」が実施される背景には2点の理由があります。
1つ目は、社会環境の変化についていける人材の育成ということです。高齢少子化社会では、いかに効率よく物事をこなすか、人材の最適配置やITの最低知識が必須になることです。
2点目は、課題解決型の教育ということです。これは、すでに述べた「プログラミング的思考」を育む教育を実施するということです。問題発見から、解体、配置、検討と、段階に分けて考え方を学ぶことですね。
考察
さて、いくつか考察していくと、まず小学生からプログラミング教育が必要か、ということが言えると思います。あくまで考え方を学ぶのであって、コーディングはしないとのことですが、スクラッチのようなビジュアルプログラミングツールは現場で利用されるのではないでしょうか。
その際に、英語力や語彙力がないと、理解しにくい部分が出てくるのではないかと思います。
たとえば、クラスに「Page」と名付け、その配列を「Book」というようにすることは、果たして小学生にできることなのでしょうか。
そこまで難しく教えないか、もしくは現実のデジタルネイティブたる小学生には簡単なことなのかもしれません。そこは、教育現場と離れている管理人には分かりませんけども。
それと、問題を解決しようとすると必ず引っかかることがあるはずです。この解決方法をインターネットで検索して解決しなさいとするか、あくまで教科書の範囲内での解決を目指すのかでも違ってくるのではないでしょうか。
インターネットで回答を見つけてしまえばコピペができる子供が良い成績をとれるでしょう。しかし、教育の目的は自己解決思考を身に着けることなのですから、すこし話がこじれてきそうです。
まとめ
いずれにしても、小学生からプログラミング的思考で物事を効率よく考える世代が社会に出てきたとき、どのように変わるのかとても楽しみですね。まったく世界がひっくり返るかもしれないし、古い世代との世代対立が深まるだけかもしれません。
いつも読んでいただいてありがとうございます。クリックしていただければ励みになります。いつも皆さまがリラックスしていられるように。
コメント