小学生・幼児期からのプログラミング教育の重要性について (SE・元IT専門学校教員・社会人大学生)

こんにちは!まむばるです!

ソフトウェアエンジニア(情報処理安全確保支援士試験合格)・元IT専門学校教員(高校数学、情報、商業免許)、社会人大学生(高等教育機関3つ修了)の観点から、幼児期のプログラミング教育の重要性について述べたいと思います。

学習心理学的視点

社会人になってから放送大学にて、学習心理学・発達心理学の学習を行いました。

その中で重要なポイントは「 論理的思考 」です。
プログラミング能力は鍛えれば鍛えるほど伸びます。
ただ、そのベースにある論理的思考力は約12歳までにベース部分は形成されます。
この能力を20歳超えてから鍛えることは非常にコストが高いです。

プログラミングのみならず、論理的思考力は社会生活に最低限必要な能力です。

やはりこのことから幼少期(0~11歳)までの教育が重要であることがわかると思います。

教育的観点

専門学校教員を21歳から26歳までの約6年間行っていました。

その中で18~22歳までのボリュームゾーンの学生たちにIT教育を行っていました。
実際に学生たちに触れ合う中で気づいたことがありました。
それは、「 ベースの論理的思考力は高等教育ではなかなか伸ばせない 」という点です。

特に専門学校の教育に携わったことにより、より色濃く感じました。

専門学校は、学力ゾーンのボリュームがかなり離散的です。
一般的に高校や大学では学力にボリュームゾーンが存在しますが、
対して専門学校は、入学時に学力検査を行っていない、AO入学のみのため、
様々な学力の学生が存在します。

  • 地域の教育困難校の学生
  • 地域トップレベルの国公立文系学部から
    コンピューター・サイエンスを短期学習するために入学する学生
  • 偏差値50 の一般的な普通科高校から進学する学生

など様々でした。

学力は様々でしたが、私の仮説が一貫して検証が正であるものがあります。
それは、入学後の最初の試験の成績順が卒業時までほぼ変化しない ということです。
(これは出身高校の学力(主に偏差値帯)によらずです。プログラミング能力は学力と正の相関があるのかは微妙だと思います)

主観にはなっていて、今では検証もできませんが、専門学校の教員経験がある方は同意いただけるかと思います。

このベースにはなにがあるかと考えると、
プログラミングの適性は、幼少期に身に付けた論理的思考力で、
その上にプログラミングの専門的知識が乗っかると考えるのが正しいと思います。

やはり、どんなにプログラミングの小手先のテクニックを教えても、吸収力は論理的思考に依存します。

これは先ほどと被ってしまいますが、幼少期に身に付けたものを使いまわしてプログラミングに活かせるかが重要だと考えられます。

後からそのベースに論理的思考力を鍛えることは困難を極めると元教員目線で感じます。

ソフトウェアエンジニア視点

私はSE→IT教員→SEと異例の経歴をたどっています。
その視点からの見解を述べたいと思います。

前もって伝えておきますが、主張は一貫しています。

新人教育に携わったことがありますが、
そちらの経験を挙げたいと思います。

要件定義・システム設計能力は、入社半年で上限が決まると考えています。
これは、一切コンピューターサイエンスの知識がない、文系出身の社員が、
ある程度仕事ができる(プログラミング・詳細設計レベル)ようになるまでの期間です。

少々酷ではありますが、仕事としてプログラミングを行う場合、
半年やって芽が出なければ、その先続けるのはかなりしんどいと思います。

要件定義・システム設計能力は特に論理的思考力に依存します。
特に要件定義をシステム設計に落とし込む作業は論理的思考力を必要とします。
ユーザーの要求をどうやって、実現するか(機能)を考えることが必要になるためです。

また、要件定義・システム設計能力はプログラミングの粒度がより高い、抽象度が高い能力になっています。

抽象的に概念を捉えて、何が必要かを論理的に考える必要があります。
これはスキルの構造化だと考えています。
つまり、上位スキルから考察すると、以下のようになると思います。

要件定義・システム設計能力 ← 抽象/具体化力 ← プログラミング能力 ← 論理的思考力

根底に存在する論理的思考力がやはり重要です。

さいごに

一貫して、重要なのは、「論理的思考力」だと思います。
そして、それを伸ばすことが容易であるのは、幼少期(0~11歳)であるということです。

ベースができてしまえば、あとは何を上に乗っけるかだけで、
そこまでコストは掛かりません。

そこを理解できている親御さんが多くなってくれると嬉しいなと思って今回このテーマで記事を書いてみました。

私の専門学校の同僚はその真理に気づいてから、
ここで教育していても、何も変わらないと幼児期のSTEM教育塾を立ち上げています。

近年では、小学校でもプログラミング教育が始まっています。
ただ、よりその根底にある「論理的思考力」を鍛えられるかが重要だと思いますので、
その観点でお子さんをどのプログラミング塾に通わせるか判断することが重要です。

プログラミングに苦手意識を持ったら、プログラミングに2度と興味を持つことはなくなってしまいますので、その意味でも一発目からプログラミングをゴリゴリ教える(Scratchなどを初期からいきなり導入している)ようなところよりも、
論理的思考から順序立てて教えてくれる塾を探してみてください。

どなたかの一部でもお力添えできれば幸いです。

以上、まむばるでした。