2020年からプログラミングが教科として必修化されます。
そのため、巷ではプログラミング教室がたくさんできていて、都市部の子どもたちの多くが通いだしています。
仕事上必要で、子どもへのプログラミング教育について調べて簡単なレポートを書いたので、ここでご紹介します。
━─━─━─━─━─━─━─━─━─━─
プログラミング教育についてのレポート
1.プログラミング教育の目的
プログラミング教育の目的について、文科省のガイドブックによると、『コンピュータを理解し上手に活用していく力を身に付けること』とあります。コンピュータをブラックボックスとして使いこなすだけでなく、その仕組を知った上で、IOT社会で生きていけるようにしようというものです。また、その中からIOTの開発ができる人材も生まれるようにしたいわけです。
2.プログラミング教育の問題点
かつてのパソコンにはBASICという初心者用プログラミング言語が搭載されていました。これは英単語がわかれば小中学生にも使えました。しかし、このBASICで仕事のプログラムも作れたのです。私も実際に定形業務の処理に、BASICでプログラムを書いたことがあります。また、BASICから当時の主流言語であるFORTRANへステップアップもできました。
ところが、いま雨後の筍のごとく生まれている民間プログラミング教室のカリキュラムをみると、その多くがScratchに代表される、子供向けに開発されたブロックを積み重ねるプログラミング環境を前提としています。
プログラミングの専門家からすると、こうした言語は今のIT産業で使われているプログラムの思想とはかけはなれていることが問題だと言います。あまりにも機能が低い言語なので、Scratch使いですごいハッカーになると期待された子どもが、本格的なプログラミング言語に取り組んだ時に、苦労している例が多々見られるそうなのです。
これは、例えて言うとピアノを習うのに、おもちゃのピアノで曲を練習したり、野球やサッカーなどのスポーツを、子ども専用に簡略化したもので遊ばせるようなものです。あるいは、テレビゲームのテニスがうまくなるのと同じです。その環境でどんなに上達しても、実際の芸術や競技でのスキル獲得にはほとんど寄与しません。
そう考えると、プログラミング教育の目的の前者「コンピュータを理解する」という点ではよくても、将来のIOT時代を担う人材を生み出すという後者の目的「活用していく力」の養成には役立たないでしょう。
3.プログラミング的思考
もう一つ、プログラミング教育の目的に、「プログラミング的思考の獲得」というのが挙げられています。簡単にまとめると、アルゴリズムを作ってそれを検証し改善するプロセスのことです。これはロジカルシンキングそのものです。工作等で試行錯誤しながら作品を完成させることにも含まれるプロセスです。
さらに、実際の社会では人もコンピュータも同時に複数のタスクを処理しています。今のプログラミング教育では、ほとんど逐次処理でのプログラミングを教えているので、マルチタスクをどう処理するかについて学ばないと、プログラミング思考を名乗るならば片手落ちと言わざるをえません。
4.まとめ
2020に導入されるプログラミングでは、本来、幅広い活動で養えるロジカルシンキングを、プログラミングに特化して教えようとしているように感じます。教育は成果が出るまでに10年20年かかるものなのに、目先のIOT人材育成に偏り過ぎた教育政策ではないでしょうか。
しかも、プログラミング教育について、IOTの専門家から多数の疑問が提示されているのが、文科省が目指しているカリキュラムと言えます。本格的なプログラミングとは程遠く、プログラミング的思考を養うなら、従来の教科の中でもやれるのに、新たな科目を設け授業時間を割くことは、いかがなものでしょうか。
━─━─━─━─━─━─━─━─━─━─
調べてみたら、これを推進している業界団体の利害やらなんやらの不純な動機が隠されているような気がして、妙な感じがします。プログラミング教育に時間を割くなら、国語力の養成にもっと時間を割いて欲しいです。(羊)