情報機械研究所

コンピューターの、スゴイところとオモシロイところ。

プログラミングは論理的思考力と本当に関係しているのか?

小学1年生くらいの児童が、ひらがなのカードを並べて「りんご」という単語を作っている写真

プログラミング教育必修化の目的の一つに、「課題解決に向けて順序立てて考える思考力の育成」があります。でも、本当にプログラミングと論理的思考力は関係しているのでしょうか?関連する研究成果を紹介します。

プログラミング教育の小学校・中学校での必修化が議論されている日本。その主目的は「プログラミングスキルの取得」ではなく、「プログラミングを通して、21世紀の社会に生きる人間としてのスキルを身に付けること」にあります。文部科学省有識者会議ではこれに関連し、「課題解決に向けて順序立てて考える思考力」、つまり論理的思考力の育成をプログラミング教育の目的の一つに位置づけました。有識者会議での議論内容には違和感を覚える点もあったとはいえ、全体的な方向性は正しいものと言えるでしょう。

参考情報:

論理的思考とプログラミング

さて、先日のかなグロブログ記事「どんな子どもがプログラミングに向いている?」ではこのように書きました:

わたしは「言葉に敏感な子」はプログラミングに向いていると考えています。曖昧昧な言い回しや複数の解釈の存在に気づく、そんな子たちのことです。それではなぜ、「言葉に敏感」という性質がプログラミングに役立つのでしょうか?それは、コンピュータは本当に物わかりの悪い機械だからです。

物わかりの悪いコンピュータにもわかるように指示を出す、そのためには必要事項を適切な順序で導入することが必要、という考えです。

このように、プログラミングスキルは論理的思考と関係があるとたびたび指摘されてきました。もしそれが本当ならば、片方を育成することでもう片方も同時に育成させることができるかもしれません。(むろん、それが可能かどうかは「関係」の性質によりますが。)

この問題に取り組む国内研究者もいて、「プログラミングスキルと論理的思考の間には一定の相関がある」という興味深い結果が報告されています。今回はその概要を紹介しようと思います。

今回紹介するのは以下の研究報告です。

この研究の動機は、論理的思考力のうちの「論理的な文章作成力」とプログラミングスキルとの相関の有無を調べること。ここで、「論理的な文章作成力」は以下のように定義されています。

  • 相手が正しく理解できる
  • 曖昧性がない
  • 事実と意見が分かれている
  • 論理の組み立てが適切である
  • 読み手の設定が適切である

この研究では、「論理的な文章作成力」とプログラミングスキルの相関関係の有無を調べるため、以下のような実験を行いました。

  1. 大学1年次でプログラミング教科を受講した大学2年生86人を対象とする(おそらく、筆頭著者の所属している公立はこだて未来大学の学生でしょう)
  2. 対象者の1年次のプログラミング教科の成績と、2年次のレポート課題の成績の相関関係を分析する

レポートは、自分の強みと弱みをの分析を踏まえて、「自分が向いている職業」への自己アピールを書く、というもの。このレポートを論理的文章作成の観点から採点して、その得点とプログラミング教科の得点が相関しているかを調べました。

論理的な文章作成とプログラミングの間の相関

結果は以下のようなものでした:

  • プログラミング教科で80点以上を取った学生のグループと60点未満だった学生のグループでは、論理的な文章作成力にも有意な差があった
  • すなわち、
    • プログラミング教科で高得点を取った学生グループは論理的な文章作成でも高得点を取る傾向にあり、
    • プログラミング教科で低得点だった学生グループは論理的な文章作成でも低得点を取る傾向にある

ということがわかったとのことです。

ここで、「有意な差」というのは統計的に意味のある差が存在しているという意味です。この結果は「たまたま」では説明し難い、ということですね。

この実験では、プログラミングスキルと論理的な文章作成は相関していることを示唆する結果が得られました。

ただし、これが全ての決着をつけるものではありません。今回の実験は論理的思考力の一部でしかないスキルを評価したものです。また、相関関係は成績上位グループと下位グループの間でのみ検知されていて、中位グループを入れると相関関係は検知できていません。

また、今回検知したのは相関関係であって因果関係ではありません。プログラミング力を伸ばすと論理的文章作成力も伸びるとはまだ言えないですし、その逆もそうです。単に、この二つのスキルは一緒に現れる傾向にある、ということがわかったのです。

著者たちも述べているとおり、「プログラミング力と論理的文章作成力との全体的な傾向は掴めた」という結果といえるでしょう。さらに詳細な結果が待ち遠しいですね。

プログラミング教育は人生に役立つ?

関心が高まっているプログラミング教育。プログラミングができれば大金持ちになれるかのような奇妙な題名の書籍も出版されるなど、ちょっと過熱気味な傾向にもあります。ここで求められるのは、データに基づいた議論。今回紹介したような研究がさらに続々と出てくることを期待します。

なお、この研究報告への苦言としては、参考文献が全て国内の研究であることへの不満があります。プログラミングスキルと、論理的思考のような汎用スキルの間の相関については、海外でも研究成果があるのですが、著者たちはそれらも汲み取った研究とはしていないようです。プログラミングとコンピュータサイエンスの教育はグローバルでの動きですので、海外で既に得られた知見は国内でも活かさなければ無駄が生じるでしょう。

例えば、一つ存在する海外の関連研究には、幼児から小学校低学年程度におけるプログラミング教育と「sequencing能力」の関係。ここで、sequencingというのは、物事の順序を把握する能力で、強いて日本語訳するならば「段取り力」とでも言えるでしょうか。物語を理解するための読解力や、行動を計画する能力の基本になる汎用スキルです。この幼少期においても、プログラミングスキルと「段取り力」の間には相関関係が存在しており、さらにプログラミング学習は段取り力も同時に育成することを示唆する結果も得られています。(詳細は別の記事で紹介する予定です。)

このように、プログラミング教育に関する海外知見を無視するかたちで進んでいるかのような国内のプログラミング教育の議論。コンピュータサイエンスの欠如とあわせ、このような「ガラパゴス化」にも危機感を抱いています。

(この記事はかながわグローバルIT研究所Webサイトからの転載です。)