こんにちは、英才教育ママの東福育子です。早期教育を意識して子育てをしています。今日は、最近習い事の一つにもなっているプログラミングについてお話したいと思います。
私の職種
私は、教育分野の仕事を10年以上続けており、その仕事というのは主にIT活用を画策する仕事をしています。今の用語でいうと、Ed-techと言われる分野です。仕事上、IT教育という点に詳しい人達と開発部隊の人達とも議論します。私はIT教育における知識は多少ありますが、プログラムが得意かというとそうではないです。
業界の最新情報などは把握している中で、プログラマーやシステムエンジニアの方々は、このプログラミング教育ブームに対してどう思っているかをご紹介します。
プログラミング教育はいらない
10人に聞いて5人以上は、プログラミング教育はいらないと答えるんではないんでしょうか?よくプログラミング教育の話になると、「プログラミングを何か理解しない親が習わせている」という話にもなります。答えは簡単。プログラムは、大人になって勉強しても大丈夫だからです。
私の住む地域は教育熱心なエリアなので、学童についているプログラミング教室などに通っているお子さんは多いです。結構、将来プログラミングができなかったら困るなんておっしゃる方もおり、「うーん、困ると言ったら困るけど、小さい頃に学ばなくてもできるようになるけど。」と思います。
プログラミング教育はなんの目的かと考えた時に、以下2点が考えられます。
1つ目は、将来の職のためにプログラミングを教育する
2つ目は、子供の自頭を鍛えるために教育する
1つ目も2つ目も、プログラミング教育でする必要はないと思います。最後にも記述しましたが、趣味のプログラミングは良いと思いますが、「教育」という観点で必要はないと考えています。
職のためのプログラミング教育はいらない
プログラミング言語は進化してく
プログラミング言語は、どんどん変わり続けています。そのため、英語のように小さい頃から勉強すれば役に立つということは、考えにくいです。
少々ITの話で恐縮ですが、私が新卒だった頃はJavaという言語が主流でしたが、今はRやPythonなども登場し、様々なプログラミング言語が登場しています。これはどういうことかというと、プログラム言語は違っても概念は共通するものが多く、現在よく使われているPythonを使っている人は、基本的なJavaもある程度理解できるのではないでしょうか。
そのため、小さい頃に一生懸命勉強しなくても、どんどん言語も変わってくるし、どのプログラマーもそれに対応できるようなものだと思います。
一方英語のような言語は、Appleという単語が今後も変わらないように、基本的な部分は絶対変わりません(もちろん流行語などは変化しますが)。
プログラムの自動化も進化してく
現に今のプログラマーはとても簡単に様々なものを作り出すことができます。それは、言語にライブラリ(まさに図書館という感じ)というものがあり、そのライブラリを利用すると自分で基礎的なところを開発しなくても、ある程度のものができるのです。
その他にも、自動でプログラムを修正してくれるものも世の中に出てきており、今後も自動でコードを書いてくれる時代も来るでしょう。
基本的なプログラミング言語をわかっていたら、AIと言われる機械学習を利用した開発も簡単にできます。そのため、子供の頃から必死でプログラミングを勉強する必要はないです。
自頭を鍛えるためのプログラミング教育はいらない
ロボット動いた!は教育ではない
よくプログラミング教室は、ロボットを動かすまでおぜん立てされており、プログラムを少し書いて実行を押せば、ロボットが動く。そのロボットが動いたことに楽しさを伝える教室もあります。ロボットが動いたことに楽しさを感じるのは大事です。また、動かす前の過程でどう動かすを考える、動かなかった場合にどう解決できるか、苦戦しながらも取り組むことが重要だと思います。
教わるプログラミングは無意味
プログラミングをする時に、人に手取り足取り教わらないとできないのは、まったく意味がありません。子供だとどうしてもプログラミング教育は手取り足取りになってしまいます。プログラミングによって自頭を鍛えられる人は、そのプログラミングのルールを自分で理解できる人です。そのルールを自分で理解してできない人は、プログラミング教育を受けても、家に帰って一人で何か作ってみろと言われてもできないのではないでしょうか?
自頭はプログラミング教育からではなく、普段の生活、勉強からコツコツ段階的に学ぶ必要があります。それが、論理的思考能力と呼ばれるものです。計算や読解が自分で出来ないのに、プログラムでコンピューターに、「卵と小麦粉を買った人に、バターをおすすめします。」などの機能を作成できないと思います。基礎的な積み重ねができていないのに、いきなりプログラミング教育はできないのです。
ちなみに、AIといわれる世界では、卵と小麦粉を購入した人の傾向を抽出し、自動でおススメを出してくれます。ある程度機械に学習させれば勝手に答えを出してくれるので、今後人間が必死にプログラミング言語を書く必要もない時代がやってくると思います。
ITが進化していく中で何が大事なのか?が重要なのです。
プログラミング教育をどう活用するか
正直、プログラミング教育よりももっとすることあるだろう!と思っている英才教育ママですが、時代も時代ですし、望んでいなくても教育されていくでしょう。そこで、プログラミング教育をどう活用するかを考えてみました。
どう物が開発されるかを意識させる
開発には様々なステップがあって、開発物ができること、が最終形態となります。例えば、エレベーターに関する物を開発するとします。
① 何が課題なのかを調査する:
エレベーターに乗るのに、いつも長い時間待っている
② 課題に対してどういう物がありたい姿なのか:
エレベーターに乗りたい時に、すぐ乗れるようにする
③ ありたい姿を機能要件にする:
エレベーターの利用数を把握し、その日のエレベーター利用を予測する
④ どう設計すれば機能要件を実現できるか:
どんなデータが必要で、何をアウトプットとして求めるかを設計する
⑤ コーディング
プログラミングする
⑥ 開発した予測と実際の利用頻度を確認し、精度を上げる
実際に開発したものの精度を上げていき、エレベーターの利用者行動に近づけていく
プログラミング教育をする際に、主に⑤のコーディングを教えるだけでは、意味がないです。ほとんどのプログラミング教室が週に1回で、③④をちょこっとやって、あとは開発するという行為をさせている気がします。それも、答えが用意されている開発です。そのため、プログラミング教育は意味がないと感じるのです。⑤のコーディングなんて、大人になっても学べる。
重要なのは、③④をいかに時間をかけて、工夫させるかということではないでしょうか?高いレベルを求めるならば、①②を自分で見つけて③④に繋げられたらとても良い経験になると思います。
プログラミング能力は他の教育から向上する
プログラミング教育を受けるには、まず論理的思考能力を高める必要があります。プログラムの基本は、X=Yというルールをどんどん決めていくことです。そのルールを、どんどん複雑化させていきます。
算数でいうと、5=5、5=2+3、5=4+1などを考える能力が必要です。
国語でいうと、y=x+1に対し、「もしx=4である時、yは5となる」などの文章を書ける能力が必要です。
そのため、基本的なことを学んでいる義務教育の年齢の子は、基本的なことをきちんと学ぶ必要があるのです。基本的な論理を理解できる教育が必要です。プログラミング教育をわざわざする必要はないと思います。
趣味にプログラミング
プログラミング教育を提供する会社の人と話していた時のことです。まぁ暗黙の了解で、前述した①将来の職のためにプログラミングを教育する②子供の自頭を鍛えるために教育するという宣伝文句は、同業者の人間には通じないわけです(笑)。
しかし、その方が話していたことは一理あるなと思いました。プログラミングは、昔プラモデルで遊んでいた子たちが、プログラミングでロボットで遊ぶものだと考えたら、与えても良いと思いません?と言っていました。まさに、お稽古ではなく、趣味です。また、ゲームを与えるよりは、Macを与えてプログラムを自分でやってみろの方が、子供のためになるという話もしていました。やはり教室で手取り足取りではなく、Macを与えた際に自分で学んでプログラミングできるのであれば、素晴らしいという話で盛り上がりました。
さいごに
結論は、普通の子にわざわざプログラミング教育を受けさせる必要はありません。天才すぎて暇を持て余している子であれば、取り組んでみても良いかもしれませんが…というのが、私の意見です。
みなさまはどうお考えでしょうか?ご意見いただけると嬉しいです。
応援よろしくお願いいたします!
コメント