今回はこの質問にお答えします!
結論:小学校4,5年からがオススメです
こんにちは!
僕は現在、医学部に在籍していて趣味でプログラミングを勉強しているShinと申します。
プログラミング歴は1年ちょっとで、主にwebサイト作りをしていて最近では画像認識の勉強をしています。
本記事では、大学からプログラミングを勉強し始めたことで見えた視点と医学知識をもとに「プログラミングを学ぶなら4、5年生がオススメな理由」を解説していきます。
抽象概念が理解できるようになり始めるから
僕が小学校4、5年からのプログラミングの学習をオススメする一番の理由です。
まずは、抽象概念とは何ぞや?って話ですよね(笑)。
【抽象概念】の解説
事物・事象の具体的全体から一般的性質をもつ部分を抽象したものを示す概念。
(引用:goo辞書)
つまりいくつかの具体例から法則を見つけ出す考えを持てることです。
この考え方ができると応用が利くようになったり、自分の頭の中で考えられるようになるなど1→10を生み出せるようになります。
医学から見た抽象概念
医学的には「子どもが抽象的な概念が分かるようになるのは小学校高学年から」というのが一般的な見解なので、抽象概念の理解がより必要になるプログラミングでは早すぎる学習は微妙、ってことになります。
プログラミングでは、特に関数の概念があります。
関数とは、具体的な処理を一般化(抽象化)してまとめたものになります。
小学校の頃に習う、「y=x」を考えると分かりやすいのではないでしょうか。
結局、抽象概念を理解できないと論理的思考力を身につけるというよりただの作業になってしまうので、英才教育としてプログラミングを学ばせるには微妙ってことになっちゃいます。
成功者からみるプログラミング
こういった意見もあるかと思います。
この意見は一理あって、実際にプログラミング関係で成功されているホリエモンや博之は小学生の時からプログラミングに触れていたし、Facebookの創設者のマークザッカーバーグも幼少期からプログラミングに触れていました。
しかし、彼らの場合プログラミングを勉強したから優秀になったのか?と考えると結構微妙だと思います。
そもそも、自分でプログラミングに興味を持ち、誰かに言われるわけでもなく個人の判断で学習する行動力と独学でも内容を理解できる頭の良さがあったことが成功の理由だったのではないでしょうか。
実際にホリエモンは東京大学、博之は中央大学と学力的に見てもそもそも彼らが優秀だったのが、たまたまプログラミングで発揮されたのではないでしょうか。
彼らの行動力と頭の切れがあれば、どの世界でも「優秀な人材」だったと思います。
「アナロジー」の考え方ができるようになるから
アナロジーとは「未知の事象をすでに知っている事柄と結びつける」ことです。
具体的にいうと「○○ってこの考え方に似てるね」って感じです。
僕の場合、単語として出てきた「デオキシリボ核酸」を「デオキシス」というポケモンに結び付けて覚える、といった感じでした。
僕に限った話ではないと思いますが、プログラミングの概念は抽象的なので実際にイメージしにくいと思います。
自分たちの目に見えない部分で、「サーバー間でのやり取りが~」といわれてもよくわかんないので、実感がわきにくいと思います。
こんな時に、このやり取りって○○と似てるな、などと勝手に想像するとなんとなくでも理解がはかどりやすくなります。
この、結びつける能力は日々の経験値で身につけることができます。
この経験が学校での出来事なのか、遊びなのか、習い事なのか、アニメなのかと様々ですが、学習の手助けをしてくれます。
そのため、プログラミングの学習をするにしても「小学校の低学年のうちは経験を積ませよう」くらいの感覚のほうが後々の学習がラクになります。
四則演算や条件分岐の考え方が必要だから
これはプログラミングの学習で避けては通れません。
四則演算は足し算、引き算、掛け算、割り算の4つで主に小学校の低学年で学びます。
プログラミングではこれらの計算をあたりまえのように使うので、「3×4はええと…」と四則演算があやふやだとプログラミングの学習以前の段階で「プログラミング難しい…」と子どもに印象付けてしまうので、四則演算の基礎が固まる小学校高学年からの学習をオススメします。
また、「条件分岐」とは「もしも○○だったら、Aの処理をしろ!」と命令する構文になります。
「じゃんけんに勝ったら1歩進み、負けたら2歩下がる」といった命令が条件分岐に当たりますが、小学生低学年の段階で、コンピュータにこのように一般化して命令するのは難しいと思います。
まとめ
いかがだったでしょうか。
そもそも「なんでプログラミングを学ぶの?」って話を考えると多くの場合は「論理的思考力を身につけさせたい」という人が大半なのではないでしょうか。
実際に、文部科学省が決定した「プログラミングの義務教育化」の資料でも、プログラミングを学ぶことによる「論理的思考力や、それを人生や社会づくりに活かすための力を養うこと」を目的としていて、決して全員をプログラマーにしたいと思っているわけではないのが実情です。
プログラミングで身につく能力の「論理的思考力」は日々の生活だったり、学校の授業でも十分身につけることができるし、プログラミングを早く始めるほど能力が上がる、といったデータもないので焦らなくてもいいと思います。
一般的に優秀といわれている医学部でもプログラミングに触れたことのある人はほとんどいないのが現状だし、某県でトップ校だった高校でもプログラミング経験者がクラスで1人だったことからも、論理的思考力にプログラミングが必須ってことは無いと思います。
論理的思考力をつける一種のツールくらいで考えるのがいいのではないでしょうか。
プログラミングの学習をするにあたって、僕はscratchをオススメしています。
子どもの好奇心を刺激し、楽しみながら勉強できる教材では現在はscratch一択だと思います。
詳しくは以下の記事で解説していますので、興味があればぜひご覧ください。
質問者 子どもにプログラミングを学ばせたいけど具体的に何を勉強させればいいんだろう? 本記事では上記の疑問に答えていきます。 結論から言うと、小学生にはscatchがオススメです。 この理[…]
ではまた。