プログラミング教室の効果【3つの論文と25団体、3人の有識者の意見】

・プログラミング学習をすることによるメリット、効果ってあるのかな?
・子供にプログラミングの習い事をさせるのって無駄かな?
・小学校からプログラミング教育なんてする意味ないでしょ。

って思っている方に向けた本記事を書きました。

子供が、プログラミング教室へ通ったり、通信講座などの教材でプログラミングを学ぶと、論理的思考力が伸びて、勉強の成績が伸びて賢くなる、って期待する方は多いです。

筆者たーみょんもその一人ですが、本当に?そして、他にも何か効果はないの?って思い、信頼できる情報をもとに調べましたので、ご紹介いたします。

本記事は3つの論文25団体(プログラミング教室)へのアンケート、3人の有識者へのヒアリングから得たプログラミングの効果の紹介です。

3つの論文が示すプログラミングを学ぶ効果

プログラミングを学ぶことにより得られる効果が書かれている論文が3つありました。
それぞれに書かれている効果は以下の通りです。

  • 課題解決力の向上
  • 創造力の向上
  • コンピュータの原理に対する理解

論文は下記の通りです。

参考文献:

それでは、どうして上に挙げた効果が表れるのかを考えてみます。

課題解決と創造

プログラミングは、与えられた課題に取り組み、新たなプログラムを創造することで、課題解決に結びつけます。
例えば、正方形を描く場合、

  1. 直線を10cm描く
  2. 右に90度向きを変える
  3. 上記4回繰り返す

って命令を書くと描けます。

正方形の描画

では、正三角形は?

正三角形の描画
一つの角が60度だから、正方形のときの命令文で、

  • 90度 → 60度
  • 4回繰り返す → 3回繰り返す

と変更すれば出来ると考えちゃいますよね。

でも、実際に動かすと上手くいかない…。こんな感じになっちゃいます↓。

正三角形の描画_失敗

こうやって新たな課題が発生します。

課題を解決するために、何度も小さな課題を解決していく必要があるんです。

また、正方形や正三角形の課題解決方法は一つじゃないですよね。
「右に向きを変える」を「左」に変えたり、最初からちょっと向きを変えておいて、傾いた図形だって描いてもいいです。

正方形を描くような課題では、大した差はないですが、課題が複雑になると、十人十色の命令文(プログラム)を生み出すことができます。

要するに、プログラミングは課題解決と創造の塊ってことなんですよね。

コンピュータの原理の理解

コンピュータの原理に関しては、どこまで深く学ぶかってことや、使うプログラミング言語によって理解度は変わってきます。
また、プログラミングを学んでいるとコンピュータの原理を理解しやすくなるのは確か。

でも、そんなことよりも、プログラミングに興味を持って楽しいと実感してくると、コンピュータの原理の方にも興味を持つのは必然。
なので、プログラミングが楽しいと思って学ぶことが大切ですね。

プログラミング教室25団体の先生が実感する効果

プログラミング教室の先生方が、実際に子供たちにプログラミング教育をしていて実感する学習効果をアンケートで調査した結果の紹介です。
参考:プログラミング⼈材育成の在り⽅に関する調査研究(総務省)

効果があると答えた回答を多い順に紹介すると、

  1. 新しいものを生み出す創造的な力
  2. 自ら学ぼうとする意欲
  3. ものづくりの意欲
  4. ものごとをやり遂げる粘り強さ

です。

プログラミングの効果アンケート結果

また、他にも以下のような効果がえられると回答しています。

  • 創造力の向上
  • 学習意欲の向上
  • 課題解決能力、論理的思考力、計画性の向上
  • 表現力の向上
  • 行動力の向上
  • 情報活用能力、プログラミングスキル、英語力の向上
  • 理科好きの育成
  • 卒業後に活躍

さらに、各年齢層で効果的に伸ばせる能力は下記の通りです。

  • 未就学児
    創造力、学習意欲
  • 小学校低学年
    創造力、学習意欲、モノづくりへの意欲
  • 小学校高学年以上
    創造力、学習意欲、モノづくりへの意欲、
    距離・量・回数・見込みなどの数量的な感覚、
    論理的思考力、計画性、粘り強さ、協調性

論文でも示されていた「課題解決能力」や「創造力」も入っています。
他にも、学習意欲や粘り強さ、論理的思考力が育まれるのは嬉しい効果ですね。

ここに出てくる効果を眺めていると、認知能力(学力やIQ)だけでなく、非認知能力(粘り強さや協調性など)が多く含まれていることに気付きます。

非認知能力は将来の年収に影響するほど重要な能力で、学力よりも重視すべきと言われているので子供の習い事に最適ですね。
関連記事:>> 早生まれのデメリット対策から学ぶ教育方法

3人の有識者が示すプログラミング教育の効果

心理学や子供向けプログラミング等を研究している大学教授や研究所の方々「有識者」が考えるプログラミングの効果は下記の通りです。
参考:プログラミング⼈材育成の在り⽅に関する調査研究(総務省)

  • 学習へのやる気、集中力、忍耐力が増す。
    結果がすぐに得られるので、小さな達成感が頻繁に得られ、やる気が増す。やる気が増すことで、学習への集中力や忍耐力向上につながる。
  • 情報の原理を理解し、情報活用能力も向上する。
    コンピューターの使用が増え、活用が当たり前になっていく。また、活用が増えると、原理の理解にもつながる。
  • 21世紀型能力の向上
    課題の発見・解決する能力、試行錯誤する忍耐力、表現力、創造性などが身に付く(詳細後述)。
  • その他
    チームで作業をすれば、協調性が育まれる。
    プログラミンを通した学習の方が理解度が高い子供がいて、子供の能力向上の可能性が広がる。

人は小さな達成感を得られるだけでやる気が増します。
プログラミングは少しずつ確認しながら作ることができるので、小さな達成感を得やすく、やる気が出やすいってことです。
やる気に関してはこちらをご覧ください↓。
関連記事:>> 子供が勉強をしない【238人からわかったやる気UP方法】

21世紀型能力

21世紀型能力とは、2020年改訂の学習指導要領の理念「生きる力」の育成に必要な資質、能力を「基礎力」、「思考力」、「実践力」の三層で構成したものです。

  • 実践力
    思考力の方針になる力。身の回りの課題を見つけ、価値のある解を導く力。また、解を社会に発信し、協調的に吟味、社会の重要性を感得する力。
  • 思考力
    中核となる力。自ら学び、考え、他社の意見を比較吟味し、より良い解を出す力。
  • 基礎力
    言語、数量、情報を使いこなす力。

21世紀型能力

参考:21 世紀型能力 – 国立教育政策研究所

21世紀型能力を簡単に言うと「基礎力を使って、自分で考え、自分で行動し、周りと協力し合って課題解決する能力」です。

昭和や平成の時代では、「基礎力」が重要でした。
でも、これからの時代は基礎力はあくまでも基礎であり、基礎をどう使うかが重要です。

プログラミングを学ぶこと自体は、基礎を身に付けるにすぎません。
プログラミングを学びながら思考力と実践力を身に付けることが大切ですね。

諸外国(12か国)がプログラミング教育をする目的

ヨーロッパでは、20 か国中12 か国が、既にプログラミング教育を行っていて、7 か国が計画中です(2015年時点)。
それらの国々が学校の教育課程にプログラミングを導入する目的は以下の通り。

  • 論理的思考力の育成
  • コーディング・プログラミングスキルの育成
  • 問題解決能力の育成
  • ICT 業界での雇用されるために必要な能力の育成
  • 高等教育におけるコンピュータ科学専攻者の増加
  • 他のキーコンピテンシー(推察力や表現力など汎用性のある能力)の育成

上記目的を見ると、

  • IT(ICT)人材の育成
  • 子供の能力(キーコンピテンシー)の育成

の2種類の様ですね。

今の世の中、コンピューターを使用していない職業を探すが大変ってくらいコンピューターが浸透しています。
なので、コンピューターの活用をして、より便利に、より効率的に仕事をするには、プログラミングの知識はあった方がいいです。

なぜなら、コンピューターへデータを入力、そしてそのデータを加工、って作業を毎日繰り返している人が多いから。
同じ作業の繰り返しはコンピューターが得意とするところです。

より効率の良い作業ができるということに気が付ける人を増やすには、プログラミングの教育が必須ということですね。

子供のプログラミング学習ですべきこと

子供の習い事は何のためにしますか?
例えばサッカー。
サッカー選手になりたいから?

現実的なことを言えば、ほぼ無理です。
将来大人になってサッカー選手になる子はほんの一握り。

となると、最初に挙げた目的は達成されないのですから、もう習い事はやめますか?

多くの子供はサッカー選手になることが無理と言われても、やめないですよね。
砂粒ほどの可能性だとしても、あきらめない子もいるかもしれません。
でも、そんなことよりも、何よりも、楽しいから続けるんじゃないですかね。

プログラミングも一緒です。
何かこんな効果があるから一生懸命プログラミングを勉強しなきゃいけない、って思ってするものではありません

プログラミングを通して学ぶと楽しいからするんです。

プログラミングは既出の通り効果はありますが、その効果を必死になって求めるとプログラミングをやる意味がなくなります。

プログラミングはしょせん道具にすぎないんです。
楽しく学ぶ道具と割り切ってプログラミングと付き合っていくと、上手くいきます。

もう一度サッカーを例に出すと、「サッカーは子供の体づくりだけでなく、頭も良くなるから、子供にサッカーをさせています」って親が言っていたとします。
でも、子供はそんなの関係なく単純に「楽しいから」ですよね。

運動も勉強も、プログラミングも全て一緒。

効果を求めて子供にプログラミング学習をさせるのではなく、いかにして子供を楽しませるかを考えることが大切なんです。

それが、子供のプログラミング学習ですべきことです。

まとめ

プログラミングを学習することによって、

  • 課題解決能力
  • 創造力
  • 学習意欲
  • 試行錯誤する忍耐力

などが育める効果があります。

ただし、子供が楽しく興味を持って取り組めた場合に効果が発揮されるのであって、嫌々やったところで効果は見込めません。

如何に楽しみ学習するかが最も重要なポイントですね。