プログラミング教育必須化について注意したいことがあります。
あまり知られていない混乱があります。
実は、国や文部科学省が推進したいプログラミング教育は、
プログラミングすることではない!
という事実です。
しかし実際には、多くのプログラミング教室やロボット教室が実施しているのは、プログラミングすること、になってしまっています。
どういうことか、お判りでしょうか?
みなさん、
「プログラミング」
というと、どんなことを思い浮かべますか?
何やら難しい文字列をコンピューターの画面いっぱいに打ち込んでいる・・・
そんなイメージをお持ちの方も多いでしょう。
そのイメージは正確に言うと「コーディング」と呼ばれます。
誤り: プログラミング=コーディング
というのが日本で浸透している認識です。
しかし、海外の認識からすると、これは間違っています。
海外でプログラミングといえば、もっと広く、「設計」から「検証」の意味まで含まれます。
「コーディング」はクリエイティブというよりは、どちらかというと「作業」に近いものにすぎません。
- コーディング = 実現作業の一部(日本でプログラミングと呼ばれる領域)
- プログラミング= 計画+設計+実現+検証
というのが、正しい認識です。
もちろん、国や文部科学省がやりたかった教育はコーディングなどではなく、これです。
コンピューターを使って、目的を早く実現させたり、身の周りを便利にしたり、社会の問題を解決しよう、という意識や思考力を伸ばす教育でした。
ロボットや人工知能が躍進する時代に、人間はむしろ「コンピューターを使いこなす能力」を伸ばす必要があるのですから、この方針はとても自然なことだと思います。
文部科学省は慌てて「プログラミング」を「プログラミング的思考」という言葉に訂正したのですが、この新しい言葉はあまり認知されていないでしょう。
- 訂正前: プログラミングの必須化
- 訂正後: プログラミング的思考の必須化
教育の専門家がプログラミング教育に反対している理由も、よく理解してみれば、
「小学生からコーディングなんてやるより、もっと基礎力を伸ばすべきだ!」
という主張がほとんどです。
これは英語教育の必須化に反対している人が、
「国語力や異文化を理解する力を伸ばす方が先だ!」
と主張している状況にとても似ています。
教育を改革する上で、国がどのような言葉を使って方針を説明するかが、いかに重要かが分かります。
ですから皆さん、
IT企業に勤めている社会人がやっているようなことを小学生にやらせる、というイメージは捨てて下さい。
まずは、
- 誤: プログラミングの教育
- 正: プログラミング的思考の教育!
と覚えて欲しいです。
そして、プログラミング的思考の教育とは、数学的な思考力や論理的な思考力(国語力)を駆使して、コンピューターを使いこなす能力だと思えば、およそ正しいでしょう。
では、どうすれば「プログラミング的思考の教育」と「コーディング教育」を見分けられるのでしょうか?
それは、このようにご判断ください。
プログラミング教室をのぞいた時に、意外に思う方が本当のプログラミング的思考の教育です。
たとえば次の1と2では、どちらがプログラミング的思考の教育だと思いますか?
- パソコン画面やロボットに向かってひたすら試行錯誤している
- 話し合ったり、紙やノートに色々な場合を書き出して確認したり、計算したりしている場面が多い
もうお分かりですね。正解は、
- コーディングがメインの教育
- プログラミング的思考がメインの教育
です!
コーディングは、よく勉強してきた人間にとっては、短期間でマスターできますから、小学生からやる必要なんてありません。社会人になってから学んでも遅くはありません。
これでプログラミング教室の正しい方向性は分かりました。
しかし、これは私塾の話です。
学校教育の現場で、学校の先生が、どこまで理解できていて、どこまで教育できるのか?
これが日本にとって、最大の課題でしょう。
英語の授業では、日本人の先生のほとんどがネイティブの発音ができませんでした。
そして外国人や有資格者を英語の先生とは別に招き入れることになりました。
おそらく、プログラミング的思考の教育も、そのようにする必要があるでしょう。