プログラミング教育・習い事は何歳から始めるべき?

小学生のうちからプログラミングを学ぶ時代となりましたがプログラミング教育は何歳から始めるのがいいでしょうか?

プログラマーになるだけであれば大人になってからでも十分間に合いますが将来的に大学入試に情報・プログラミングの科目が追加されているという昨今の事情を考えると早めに子供に習わせてあげた方がいいと考えている親御さんも多いと思います。

まず参考にしたい意見としてアップルのエンジニア教育担当であるジョン・カウチ氏は

コーディングの基本原理は、算数のようになるべく早い段階で教えるべきで、コーディングのざっくりとした考え方なら、幼稚園からでも早すぎるということはない。

と述べています。

ただしこれはコーディングの話ではなく論理的思考や問題解決スキルを身に着ける訓練のことを指しています。

実際アルゴリズム思考が出来ればコーディングは1年程度で身に付けることが出来ます。(出来ていない場合は3年~)

ただ私はIT企業の副社長兼、人事担当として色々な大学生を見てきましたがやはり幼少期からプログラミングを行っていた人は別格の能力を持っています。

彼らに話を聞くと就活の時点でプログラミング歴10~15年で初年度で私の会社では初年度から年600万円の報酬を払っています。

2021年時点ではそれほど市場価値が高いのです。

この傾向はしばらく続くと思いますが2030年以降はプログラミング教育によりプログラマーの供給が増えるのとAIの発展やコーディング自体が簡単になることで一部の優秀なプログラマーに需要が集まるだけでプログラマーだからと言って高報酬は期待出来なくなると思われます。

英語を習った人誰しもが英語がペラペラになるわけではないようにプログラミング教育を受けた人全てが実戦で使えるレベルのプログラミングが出来るようになるかどうかは怪しいです。

また職業選択の自由が有る限りいくら日本のプログラマーが不足していようと全員がプログラマーになる訳もないのでここでは”一般人”はプログラミング教育はいつ始めるべきか、について考えてみます。

ちなみに私自身は大学3年生、20才の時にプログラミングを始め大学卒業後フリーランスを経てIT企業の副社長になっておりいわゆる「プログラミング教育」は受けていません。

小学生のプログラミング教育

小学生のプログラミング教育必修化に関して言えるのはまず成功しないだろう、と言うことです。

教える側の教師にプログラミングを学んだことがある人が少ないためです。

私立の学校であればプログラミングを学んだ先生を用意できると思いますがそのレベルにも差が出てくるので一部の進学校舎が明らかに有利です。

この辺りはIT後進国である日本の文部科学省が今更のように焦りプログラミングを必修化します、といきなり言った訳ですから教師が悪いわけではありません。

プログラミングスクール に入るなどして補っていく必要があります。

プログラミングの必修化は決まったものの具体的なカリキュラムは学校側に任せる形になっているので差はどんどん開いていくでしょう。高校の授業である既存の情報の授業などと対して変わらない可能性もあります。

コーディング自体は国語と数学の能力があれば何歳でも身に付けることが可能なので個人的には小学生のうちはコーディングは必要ないと考えています。

コードを書くようになると英語のリファレンスを読む必要が出てくるため国語や数学以外だと英語学習に力を入れた方が結果的に後ほど優秀なプログラマーに育つはずです。優秀なプログラマーを数多く見てきましたが英語が読めないプログラマーは1人もいません。

文部科学省は現場に投げっぱなしで現場のプログラミング教室のレベルもあと数十年は期待出来ないので、公立小学校の子は英語を読めるようにしてScratchなどの海外の無料で学べるプログラミング学習環境を利用して学ばせるのが最適解だと思います。

金銭的に余裕のある家庭はキッズ用のプログラミングスクールに通わせるのはもちろんありです。

中学生のプログラミング教室

中学生になると論理的思考能力がかなり身についてくるので本格的にコーディングを始めてもいい頃でしょう。

高校生になると受験で忙しくなかなか時間もなくなってくるので将来プログラマーとして第一線で活躍したい場合は中学生のうちに始めたいところです。

なお中学校でもプログラミングの授業が必修化されますが「技術・家庭」のうち「技術」分野で扱われるとのことです。

実態は小学校のプログラミング教育と同じで先生側にプログラミングの素養がない学校が多いので期待できません。

指導要領を見ると既存の技術の授業との変更点は「プレゼンテーションやアニメーション、Webページなどのディジタル作品の設計・制作」という所でした。

プレゼンテーションというのはPowerpointの使い方でしょうか。これは私が子供の時もありました。

アニメーションというのが謎ですがもしかしてUnityなどを使うのでしょうか、いきなり難度が跳ね上がっている気がしますがUnityはコーディングなしでも出来るので悪くないと思います。

ディジタル作品の設計・制作というのが色々調べた所HTMLでホームページ作りのようでした。(今後変わる可能性あり)

HTMLは大人になってからでも2週間あれば学べることです。マークアップ言語として通常はプログラミング言語には分類されないため本気でプログラミング教育をやる気があるのか怪しいですね。

プログラミング教育を始めたばかりであればこのような指導要領でも仕方ないのかもしれませんがこれではプログラマーは育ちません。

中学生であれば大人向けのプログラミング教室に通っても全く問題ないと思います。私はボランティアで小・中学生に週1でプログラミングを教えているのですが中学生は1年程度学んだだけで大人顔負けなくらいプログラムを組めるようになる子もいます。

おそらくプログラミングの面白さにハマって家で自分でも色々勉強しているのだとは思いますが小学生のうちに国語、数学、(英語)の力をある程度身につけた子であればプログラミングを学ぶ上で大人と条件は一緒です。

高校生のプログラミング教育

高校生は受験で忙しくなるので高校生1年生の終わりまでにある程度プログラミングを学んでおきたい所です。(国語や数学との相乗効果も期待できます。)

大学入試で情報・プログラミングの科目が追加される内容によってどこまで学ぶべきか変わってきます。

プログラマーになるわけでなければほとんどの人にとっては入試でしか使わない古文や漢文のような扱いになるのでしょうが今世界をリードする企業はほとんどがアメリカと中国のIT企業で日本は完全に遅れを取っているのでIT人材が増え日本経済が発展すれば喜ばしいことですね。

現実的にはプログラミング教育の成果が出るのにどんなに早くても10年かかりますし、幼い頃からプログラミングを学んだ子は日本の企業で働くよりも海外の企業で働いた方が待遇が良いのでどうなるか分かりませんがそれでもIT人材が増えれば嬉しいです。

結論

プログラミング教育自体は幼稚園や小学校の低学年から始めた方がいいもののコーディングは中学生に入るまで不要。(子供が自分からやりたいと言った場合は小4位から始めてもいいかも)

中学生以降はどんどん学んでOKです。ただし数学の授業で集合と論理や確率を身につけてからの方が遥かに効率がいいので身についていない場合はやはいアルゴリズム思考を鍛える方を優先しましょう。

またプログラマーになること自体は大人になってからでも可能でおそらく2035年辺りまでいくらでも求人があるのでもし転職を考えているのであればおすすめです。

独学だと最低3年、プログラミングスクールで学んで実戦で使えるまで最低1年はかかります。