今回は、エンジニアを経験した私が、
小学校のプログラミング必修化になったら今の社会人がやばいという話に切り込みます。
プログラミング必修化が正確にいつ、どこで、なぜ、どうやって行われるか知っていますか?
ぶっちゃけよくわからないですよね。
まず、プログラミングはいつどこから導入するかというと
2020年4月から小学校、2021年に中学校、2022年に高校で必修化になる予定です。
この記事は2020年3月に書いているので、小学校に関してはもうすぐです。
Twitterとかを見ると、エンジニア界隈の人は、反対する人がすごく多いんですよ。
「もっと国語とか算数をしっかり勉強すべきだ」
「小学校からプログラミング教育をするのは早すぎる」
「エンジニアになるのはそんな甘くない」
といったエンジニアお得意の持論を語り出す人がたくさんいました。
とはいえ、そもそもプログラミング必修化の実態が掴めない人が多いのではないでしょうか。
今回は文部科学省のサイトをちゃんと調べて、私はプログラミング教育必修化は絶対やるべきだと結論になりました。
そして、今プログラミングを学んでおかないとすぐに老害化し仕事ができなくなる確実な未来が見えました。
わからない人にもプログミング必修化について、超わかりやすく解説します。
※画像は、文部科学相が出している「小学校プログラミング教育の趣旨と計画的な準備の必要について」から引用しています。
Contents
プログラミング教育をやる理由
プログラミング教育をやる理由は、文部科学省の方で出しているものでは色々語られているので少しわかりづらいですが、
ポイントを絞ってお話しすると、コンピュータを理解し上手に活用していく力を身に付けることです。
現時点でもコンピュータで自分の周りのものがあふれていますが、将来間違いなくICTとかAIがさらに盛んになります。
AIという言葉は聞いたことあると思いますが、ICTという言葉聞き慣れない方もいますよね。
ICTとは、簡単に説明すると、情報技術(IT)にコミュニケーションの要素を入れたものです。例えば、スマホやスマートスピーカーなんかもICTです。
こういったあらゆるものを活用して、これからの社会を子供たちは生きていきます。
すでに今の社会もそうなっています。
コンピュータを活用して問題解決する力は、将来どのような職業に就くとしても、極めて重要です。文部科学省が「極めて重要」って言ってるんです。
そして、「将来どのような職業に就くとしても」と言っているので、エンジニアを増やしたいからプログラミング教育をやるわけではないんですよ。
将来、どんな仕事についたとしてもコンピュータのような道具を使って問題解決をしたり、もっとクリエイティブなことを子供達ができるようにするためです。
本来、人間がすべき仕事は、世の中の問題解決のために頭を使うべきです。
ただ単純作業を行ったりとかは、全部コンピュータに任せて、私たち人間は、たくさんある世の中の問題をどうやったら解決できるのかに頭を使い続けるべきだし、もっと面白いことをやるべきなんです。
でも、その道具の使い方がわからないと、よりクリエティブなことに頭を使うことはできませんよね。
今だって、パソコンの中にあるあらゆるソフトウェアを使うからこそ、資料を共有できたり、広告を作ったり、アイディアを形にし、価値を生み出すことができるわけです。
そういった道具の使い方を理解するために、そもそもコンピュータを動かしているプログラムとはなんなのかを学ぶのは、とても有意義な教育です。
2020年4月から小学校でプログラミング教育をする狙い
小学校からプログラミング教育をする狙いは全部で文部科学省が3つ掲げていました。
①「プログラミング的思考」を育むこと
② プログラムの働きやよさ、情報社会がコンピュータ等 の情報技術によって支えられていることなどに気付く とともに、コンピュータ等を上手に活用して身近な問題を解決したり、よりよい社会を築いていこうとする態度などを育むこと
③ 各教科等の内容を指導する中で実施する場合には、各教科等での学びをより確実なものとすること
先ほども話しましたが、エンジニアを増やしたいわけではないので、プログラミング言語を学んだりとかするわけではありません。
プログラミング的思考を身につけてもらうことに狙いがあります。
では、プログラミング的思考って何か具体的にわかりますか?
プログラミング的思考とは、目的を達成するために順序立てて論理的に考え、結果を出していく力です。
わかりやすいものでいうと、実は料理をすることも全てプログラミング的思考なんです。
カレーを作るために、どんな材料を用意し、どんな手順で作るか考えますよね。
プログラミング的思考というのは、料理だけでなく身の回りのあらゆるものを考えることにおいて、プログラミング的思考は基本的な思考力なんです。
わかりやすい文章を書くことも論理的に書かれていなければ、相手に伝わる文章を書くことができないので、国語にすらプログラミング的思考が必要なんです。
そして、コンピュータに置けるプログラミングは全部でこの3つだけで成り立っています。
それが、順次と分岐と繰り返しです。
順次は、上から下にプログラムの処理が流れていくこと。
そして、分岐はもし〜だったら何をするといった命令を書くこと。
繰り返しは、そのまま同じ処理何回も繰り返すこと。
実は、世の中のあらゆるプログラムは元をたどると全てこの3つで表現されているんです。
ほんとかなと思いません?でも事実で、この順次と分岐と繰り返しで表現されないプログラムはよくないプログラムであると言われているほどです。
そして、プログラムで動くコンピュータは人間が全て何もかも指示してあげないと動くことができません。
小学生からそういった気づきがあるだけでも、じゃあコンピュータは何が得意で何が不得意なのか、そしてコンピュータを利用してどんなことができるのかがわかってきます。
小学校のプログラミング教育はどのように行われるか
では、実際小学校の授業でプログラミングの授業があるのかというとそういうわけではないらしいです。
これは、小学校によって違うみたいで、中にはスクラッチを利用してプログラミング的思考を身につけたりするらしいです。
スクラッチとは何かというと、プログラミング言語とか一切不要でプログラミングを書くことができるツールです。
そういったものを取り入れて、算数の時間に正三角形をどうやって書くかとか入れたりするらしいです。
ちなみに、正三角形一つ書くにも、
- ペンを下ろす
- 長さ100進む
- 120度曲がる
- ②〜③を3回繰り返す
という指示が必要で、人間のように直感的に書くことができません。
そういった学びを育むことで、プログラミング的思考を身につけ、将来そういったコンピュータを利用して、問題解決をできるようになることを目的としています。
プログラミング必修化になったにも関わらず、社会人が危機感を感じていないことが問題
さて、ここまでの話を聞けば、プログラミング必修化、いいねとなりますよね。
でも、ここで危機感を感じなければいけないのは、大学生といった若い方も含む全ての社会人です。
これからの多くの子供達がコンピュータとは何か、そしてプログラミング的思考を備えて社会人になっていくわけです。
そんな中、今の社会人や大学生がその子達の上司になるわけですよね。
その時には、あらゆる周りのものがAIやICTなどに置きかわっていき、使い方を理解しないといけません。
きっと、子供達からこんなことを言われるはずです。
「こんなこともできないのか」と。
そして、自分にできる仕事がなくなってしまうかもしれないわけです。
そうしたら生きていけないですよね。
だからプログラミングは教養として全世界中誰でも必要なんです。
でも、プログラミングを学ぶ必要性なんて感じる人そこまで多くないですよね。
今回、一番お伝えしたかったことは、プログラミングを学べと言いたいのもありますが、時代の変化に合わせて自分が何をすべきか考えて、行動することなんですよ。
そして、考えた先に社会人も勉強しないとどんどん置いてかれるんですね。
別にプログラミングの勉強も、VBAとかを使っていつも仕事で使っているExcelの単純作業を自動化するだけでも大丈夫です。
今、私はGASというgoogleが出しているスプレッドシートを自動化するプログラミング教材を作っています。
社会人や大学生が教養として学ぶプログラミングとしてこれだけで十分という、少なくて学びやすいものを考えています。
もし、サービスを作りたければさらにWebの知識やMVCの考え方とかもっと学ぶべきことがたくさん増えるため、プログラミングスクールに通うことをおすすめします。
そういった第一歩を踏み出すことが人生を変えるきっかけになります。