【疑問解消】2020年から小学生のプログラミング教育を必修化した目的とは
小学校でも2020年からプログラミング教育の必修化が決まり、電子黒板やタブレット端末が学校教育で活用される等、徐々に子供が授業の中でコンピュータに触れる機会が増えてきています。
方針としてはすごく良いと個人的には思っているのですが、保護者の方にとっては疑問や不安を抱いている方もいるようです。
先日学校に出向いた際に、保護者の方々とお話する機会があったので、「プログラミング教育必修化」について尋ねてみたところ、良い取り組みだが具体的に何が出来るようになるのかわからない。他教科の時間が割かれて、学力低下に繋がるのでは?将来役に立つのか?等の意見を多く耳にしました。
どうやら「小学生にもプログラミングという物を教えるようだ。」という事しか理解されていないようで、これからの子供の将来を大きく左右するプログラミング教育について保護者の方の理解や応援は必然なのに、と非常に残念な気持ちになりました。
この記事では、保護者の方が持つ疑問や不安を解消しプログラミング教育を理解してもらうために、プログラミング教育必修化の目的や授業内容、プログラミング教育を通して得られるメリット等について説明します!
また、子供にさせたい習い事の上位にランクインしているプログラミングを身に付けると、将来どのような仕事就くことが出来るのかも合わせて説明します。
Contents
プログラミング教育を必修化した目的
具体的な授業内容を見ていく前に、そもそもどうしてプログラミング教育を小学生の授業に取り入れる必要があるのでしょうか。
プログラミング教育の必修化の背景には、日本を悩ませるとても深刻な問題があるのです。
IT技術者の人材不足
学校において電子黒板やタブレットが導入されるなど、今やITを活用した教育ツールや連絡網代わりに活用しているチャットアプリは学校生活を過ごす中で、欠かすことが出来ません。
しかし、そのようなツールやアプリを支えるIT技術者の不足がプログラミング教育必修化の背景に潜んでいるのです。。。
IT技術者が不足している原因として、以下の2点が挙げられます。
原因1:技術の急成長による市場拡大
ロボットで活用されている人工知能(AI)、単純な入力作業等を一定のルールで自動的に処理させる技術RPA、家電製品等とインターネットを繋いでスマートフォンやパソコンから操作が可能なモノのインターネット(IoT)という言葉を、聞いたことがあるかと思います。
これらの技術が様々なところで活用されるようになり、IT業界はとてつもなく早いスピードで成長し拡大しています。
業界が拡大すると、IT技術者を求める会社も増え、IT技術者不足に陥っているのです。
人工知能(AI)とは
《artificial intelligence》言語の理解や推論、問題解決などの知的行動を人間に代わってコンピューターに行わせる技術。AIとも呼ばれる。人工知能を取り入れた応用分野として、特定分野の人間の知識を整理し、データとして蓄積しておき、問い合わせに対してその意味を理解しながら、蓄積したデータを用いて推論、判断するエキスパートシステムなどが挙げられる。また、人間のしゃべる言葉や手書き文字を理解するパターン認識や機械翻訳システムなどにも人工知能の技術が応用されている。~コトバンクより
RPAとは
《robotic process automation》人工知能を備えたソフトウエアのロボット技術により、定型的な事務作業を自動化・効率化すること。特に、ホワイトカラーの業務を補完・代行する仕組み。ロボティックプロセスオートメーション。→ソフトウエアロボット~コトバンクより
モノのインターネット(IoT)とは
《Internet of Things》あらゆる物がインターネットを通じてつながることによって実現する新たなサービス、ビジネスモデル、またはそれを可能とする要素技術の総称。従来のパソコン、サーバー、携帯電話、スマートホンのほか、ICタグ、ユビキタス、組み込みシステム、各種センサーや送受信装置などが相互に情報をやりとりできるようになり、新たなネットワーク社会が実現すると期待されている。物のインターネット。インターネットオブシングス。~コトバンクより
参考:20年後には半分の仕事をAIが代行する?
自動運転技術やロボットを活用した技術、最近ではGoogleのスマートスピーカーやiphoneのSiriなど、様々なところでAIが活用されています。
今は試験的な面も多い技術を、2025年度までに活用可能なレベルまで引き上げること(Society 5.0)を内閣府は検討しており、将来的には日本が抱える大きな課題(少子高齢化、地方の過疎化、貧富の格差)を、AIを活用して解決しようとしています。
もちろんAIの発達により代行できる仕事の多くは人の手から離れることになるでしょうが、その代わAIを活用するべく新たな仕事も生まれることになるでしょう。
すなわち、プログラミング教育を通してプログラミング技術を育むことが、AIを活用すべく仕事に就く最低条件となるのです。
Society 5.0とは
サイバー空間(仮想空間)とフィジカル空間(現実空間)を高度に融合させたシステムにより、経済発展と社会的課題の解決を両立する、人間中心の社会(Society)狩猟社会(Society 1.0)、農耕社会(Society 2.0)、工業社会(Society 3.0)、情報社会(Society 4.0)に続く、新たな社会を指すもので、第5期科学技術基本計画において我が国が目指すべき未来社会の姿として初めて提唱されました。~内閣府より
原因2:少子高齢化
なんと2019年をピークに新規IT技術者想定入職者数が予定退職者数を下回り、2030年には最大で79万人ものIT人材不足に陥るのです。
このような技術者不足が日本の深刻な問題のひとつとしてあるため、既に中学生に対しては「プログラムによる計測・制御」の必修化が進められています。
しかし、IT業界に必要な技術者数に大きく不足することが見込まれ、より質の高い多くの技術者を育成するためにプログラミング教育を必修化する方針が打ち出されたのです!
各教科の学びをより確実にする
「プログラミング的思考」を学ぶことが「過程を大切にする」ことにつながり、物事を順序立てて考える力や分かり易く理解する力となることで、各教科の学びもより確実になり、理解度も深まることを期待しているようです。
プログラミング教育に対する大きな勘違い
必修化される背景から考えると、「IT技術者を育成するための授業」=「プログラミング教育」だと思われる方も多いかと思いますが、「プログラミング教育の必修化」について、非常に多くの方が勘違いしているのです!
「プログラミング」という科目が増えるわけではない
もっとも多い勘違いはこれだと思います。
私自身も当初は授業の科目として「プログラミング」の授業が出来るんだ!と思っておりましたが、よくよく情報を精査してみると、既存の科目の中で「プログラミング的思考」を修得させるべく授業内容の構成の見直しがされるのです!
-プログラミング教育とは-
子供たちに、コンピュータに意図した処理を行うように指示することができるということを体験させながら、将来どのような職業に就くとしても、時代を超えて普遍的に求められる力としての「プログラミング的思考」などを育成するもの。
-プログラミング的思考とは-
自分が意図する一連の活動を実現するために、どのような動きの組合せが必要であり、一つ一つの動きに対応した記号を、どのように組み合わせたらいいのか、記号の組合せをどのように改善していけば、より意図した活動に近づくのか、といったことを論理的に考えていく力
「プログラミング言語」の使い方を教えるわけではない
プログラミングの授業というと・・・
パソコンに何か難しい文字を書いてシステムを動かしたりするんだろうなー。
と思われるかも知れませんが、小学校でのプログラミング教育は「プログラマ」を育成するために導入されるわけではありませんので、プログラミング言語(C言語とかJava言語)の書き方等の説明は基本的にはありません。
プログラミング言語
コンピューターにさせたい処理を記述するための言語。記述方式や構造が文法として決められており、コンピューターへの指示書であるソースコードとして記述する。プログラミング言語の多くは、人間にとって理解しやすい様式になっているため、そのままではコンピューターが理解できない。そこで、記述されたソースコードをコンパイラーやリンカーと呼ばれるソフトウェアなどを使用して、コンピューターが理解できる言語(機械語)に変換する必要がある。プログラミング言語は、教育用や人工知能用、システム記述用など用途によって分別されており、用途に適したものを利用する。~コトバンクより
パソコンやタブレットを準備する必要はない
平成26年より学校のICT環境(電子黒板の導入や授業におけるタブレットの利用、ネットワーク環境の充実化等)整備が進んでいます。
今の状況では1人1台のパソコンを準備するわけではありませんので、各家庭で準備する必要ありません。
※数年後はどうなるか定かではありません。
プログラミング教育の授業内容
プログラマを育成する為の授業である、難しいコードをパソコンに入力したりする授業ではなく、現在実施されている科目の中で、プログラミング的思考を育むための授業が行われるようになります。
パソコンにプログラミングコードを入力し、システムを作るような授業ではありません。
【小学校段階におけるプログラミング教育の実施例】として、以下のようなカリキュラムが想定されています。
総合的な学習の時間 | 自分の暮らしとプログラミングとの関係を考え、そのよさに気付く学び |
理科 | 電気製品にはプログラムが活用され条件に応じて動作していることに気付く学び |
算数 | 図の作成において、プログラミング的思考と数学的な思考の関係やよさに気付く学び |
音楽 | 創作用のICTツールを活用しながら、音の長さや高さの組合せなどを試行錯誤し、音楽をつくる学び |
図画工作 | 表現しているものを、プログラミングを通じて動かすことにより、新たな発想や構想を生み出す学び |
特別活動 | クラブ活動において実施 |
具体的授業例(国語)
①自分が表現したい場面を必要な助詞を選択して文に表すことを通して、文の中における主語と述語の照応関係や助詞の正しい使い方について学習する事例(第2学年)
「は」、「を」、「が」、「に」の助詞を入れ替えながら文を作成するプログラミング体験を通して、主語と述語の照応関係や助詞の正しい使い方について理解することができるようにします。
【学習の位置付け】
この学習は、文の中での主語と述語や、助詞「が」「は」の役割に気付き、主語・述語を結び付けて場面を説明する学習をした後に展開することが想定されます。主語と述語で構成された文をさらに詳しく表現するため、「を」「に」といった助詞の正しい使い方についても学習していきます。
【学習活動とねらい】
学習活動としては、いくつかの例文を提示し、自分が意図した場面(条件)にするためにはどのような助詞を選択すればよいのかというプログラミング体験を行うことが考えられます。具体的には、まず学級全体で「ねこ( )ねずみ( )おいかける。」の文を例に、助詞の「が」または「を」を選択して文の中に当てはめ、1文字入れ替わるだけでも場面(イラスト)が変わってしまうことに気付くようにします。次に、「わたし( )ボール( )かご( )なげた。」の文に、助詞の「は」「を」「に」を選択して当てはめるプログラミング体験を行います。これにより、どのように順序立てて文字を組み合わせれば、自分が表現したい場面(条件)になるのかを児童が試行錯誤していき、主語と述語の照応関係や助詞の正しい使い方について考えることができるようにします。
具体的授業例(算数)
第5学年の図形領域の正多角形の作図を行う学習に関連した実践を紹介します。以下「スクラッチ」というソフトを使うことを例に説明します。
児童は、円を描いて、中心の角を等分する仕方で正多角形を書くことは学習済みです。これは「正多角形は円に内接する」という性質をもとに作図をしていることになります。一方、正多角形は「全ての辺の長さが等しく、全ての角の大きさも等しい」という性質(中学校数学では定義)をもとに描くこともできます。正方形や正三角形ならこの方法でかいても上手に描くことができますが、辺の数を増やして正六角形ぐらいになると、なかなか上手に描くことができなくなります。
一方、プログラムをかいてコンピュータ上で作図すると、正三十六角形など、辺の数が多い正多角形も、素早く簡単に描くことができます。このことに児童は感動し、プログラムを使って作図することのよさを感じることができ、正多角形の作図を行う学習に関心をもって取り組むことができます。
小学校におけるプログラミング教育は、プログラムを書けることを目的としているわけではありません。プログラミング的思考を育成することにねらいがあります。
とすると、授業の展開は、問題発見・解決の過程を通すことが必要になります。すなわち、子供たちにどのようにプログラムを変更するといいのかを考えさせることが大切になるのです。
そこで、正方形を描くためのプログラムを例示します。その中で「(80)歩前に進む」「(90)度回転する」というコマンド使うことで描くことができること、これらを4回ずつ使って正方形を作図することができるけれども「(4)回繰り返す」というコマンドを使うともっと簡単に描くことができることを知ります。
その上で、「正三角形や正六角形について、プログラムを使って描こう」という課題に取り組みます。そこで多くの子供は、正三角形を描くのに「60度」、正六角形を描くのに「120度」として、プログラムを書きますが、実際描くとうまくいかないことに気付くのです。
そこで、どうしたらよいか考えることがプログラミング的思考です。「逆にすればよい」ということに気付いた子供に、「どうして逆になるのか」を考えさせることが大切です。そのことにより、回転している角は、「180-内側の角」になっていることに気付いていくのです。このことに気付くことで、正八角形や正二十角形のときは何度にしたらよいかも分かってきます。
正二十角形は、180-162で18度になることが分かります。実際18度で描いてみると、画面からはみ出してしまいます。そこでまた考えることが出てきます。今度は前に進む長さである「80歩」を少なくしないといけなくなるのです。
このようなことに気付いた子供は、今度は自分からもっと辺の数が多い正多角形を描こうとするでしょう。鉛筆とコンパスでは描いたこともなかったような・・・・。
このような子供が実際に考える場面を仕組みながら、プログラミング的思考を育むプログラミング教育を行っていただければと思います。
具体的授業例(理科)
(ア) 電気は,つくりだしたり蓄えたりすることができること。 (イ)電気は,光,音,熱,運動などに変換することができること。 (ウ)身の回りには,電気の性質や働きを利用した道具があること。
プログラミング教育は、この中の(ウ)に位置付けられて、実践されています。手回し発電機や光電池を使って電気をつくりだしたり、コンデンサーなどに蓄えたりできることを学習し、その電気を使って、発光ダイオードを点灯させたり電子オルゴールを鳴らしたりして、電気が、光、音、熱、運動などに変換することができることを捉えます。
このような学習を通して、子供たちは電気を利用して生活していることを自覚するのですが、エネルギー資源の有効利用という観点から、電気の効率的な利用について捉えることが大切になります。
実践では、子供たちは身の回りから電気を効率よく利用している例を探す活動が行われました。すると、「玄関の家のライトは、人が来た時だけ点灯する」「学校のトイレもそうだね」などといったように、センサーが働くことで作動時間が制御され、電気が効率よく利用されていることが発見されました。
そこで、「センサー」「プログラミング」という言葉を確認するとともに、家の玄関などを想定して、「人がいなくなったらライトが点灯し、人がいなくなったら消灯する」などといった一連の動きをプログラミングするといった活動を行いました。みんなでどのようなプログラミングだと自分たちが意図した動きが実現できるのかを確認した後、もう一度自分たちの生活に目を向け、電気を効率よく利用することについて考えることで、本学習内容への理解が深まりました。
上記の具体的授業例は、関係省庁(文部科学省、総務省、経済産業省)が合同で運営している「未来の学びコンソーシアム」の中で、公表されている内容になっており、子供たちが授業を受けるイメージも出来たのではないでしょうか。
しかし、いくら分かり易く授業が行われたとしても、リタイアしてしまう子もいます。
その要因のひとつに、「プログラミング的思考に対して苦手意識を持つ」があります。
このような思考を持たせないためにも、以下の3点を重大要点として意識付けを行い、授業を進めるよう方針付けされています。
①楽しく学ぶ
苦手意識を感じさせない、楽しく学べる工夫が必要
→プログラミングが楽しい!と思わせる授業内容にする必要があるため、ゲーム感覚(クイズ等)で抵抗無くとりこめる授業内容に落ち着くのではないでしょうか。
②考え方を学ぶ
技法よりプロセスを学ぶ、考える力を身に付ける
→合計が2の計算式が多数存在するのと同様に、システム開発(サービスやアプリケーション問わず)においても、求められた結果を実装する手段・手順は無数に存在します。
そのため、1+1は2だと暗記するかのように覚えるのではなく、どうして2になるのか?過程をしっかりと理解する習慣はとても重要になります。
③常に最先端を意識する
技術革新に触れる、タイムリーに教材も更新
→IT業界の最も難度な点とも言えるのが、業界の成長速度が速いことがよく挙げられます。
常に新たな技術が出てくるので、今学んでいる技術もすぐに使えないものと変わっています。
システムエンジニアやプログラマになっても常に最先端を意識することが重要となってきますので、最新技術にたいするアンテナは常に張っておく必要があります。
プログラミング教育を通して得られること
プログラミング教育を通して得られることは、とても多くあります。
小学校では0から何かを作り出すことは無いのかも知れませんが、後々プログラミング能力を身に付けることが出来れば、その過程で以下のような現代社会を生き抜くための重要な力を身に付けることに役立つでしょう。
プログラミング教育のメリット
それではプログラミング教育が、子供にどのようなメリットを与えてくれるのか見てみましょう。
論理的思考力(ロジカルシンキング)
コンピュータ等の機械が目的(システムであれば特定の処理)を達成するためには、どのような過程(仕組み)が必要かを考え、判断し、プログラミングコードとして1から10まで全ての命令を機械に明確にする必要があります。
どのような順番で指示すればよいのか、そもそも必要な指示として何が必要なのか等を考えることによって、論理的に考える力を身につけることが出来ます。
プログラマはもちろんのこと、一般社会でもとても重要な能力になります。
論理的に物事を考えきれる人のほうが、効率的に物事を捉えることが出来る=仕事が出来ることに繋がりますからね。
課題解決力
目的に向かって進むときに時折ぶち当たる壁が、プログラミングを学ぶ際にもあります。
思ったとおりの動きをしてくれない…本当はこういう処理結果を返したいのに…
そんな時に原因を探求し、自己の力で解決していくことにより身に付けることが出来るのが課題解決力です。
特にシステムを開発していく際には、根気強くエラーと向き合うことで集中力と粘り強さ、情報収集力等も課題解決力と合わせて身に付けることが出来るでしょう。
創造力
最初は単純な動きやサンプルのシステムを作り上げていく中で、自分が思ったとおりに動かす為にはどのようにすればよいのか?
今ある物を活用して面白いことが出来ないのか?等、多方面の角度から考えることを繰り返すことによって、様々な画期的なアイデアが生まれてくるかも知れません。
そこで身に付けることが出来るのが創造力です。
型にはまった考え方をするのではなく、頭が柔らかい子供のうちに学ぶことによって、より豊かな創造力を育むことが出来るでしょう。
プログラミング教育のデメリット
次にプログラミング教育がもたらすデメリットについて紹介します。
これも実際に保護者の方やプログラマに対しての若い世代のイメージ、連想してしまうことの中には「根暗そう」「健康状態悪そう」
他者の力に頼りがちになる可能性がある
メリットである論理的思考力や課題解決力、創造力を身に付ける反面、単純なことでも考えないようになってしまうリスクがあると思います。
具体的にいうと、算数の宿題等にしても計算問題を解くツールとしてインターネット上のサービスを利用したり等、答えが簡単に導き出せてしまいます。
もちろん筆記のテスト等で過程を求めるように工夫すれば問題ないのですが…
簡単に考えることを止めてしまい、直ぐにインターネットで探し解決をしようとすることで地頭力の低下に繋がってしまわないかが不安です。
先生の教え方次第で苦手意識が芽生える可能性がある
子供においても先生においても、プログラミングが得意な人と苦手な人がいます。
理系が得意な先生=プログラミングが得意とは限りませんが、論理的思考面においてはとても重要であることは確かです。
プログラミング教育専門の先生がいれば話は別ですが、それぞれの担当の先生がプログラミング教育を行うことになりますので、得意で無い先生が教えることにより、説明が複雑で、子供が理解するには難しく、苦手意識が芽生えてしまう生徒も出てくるかも知れません。
人対人のサービスでは付いて回る問題ではありますが、とても難しい現実的に発生しうる問題だと思います。
2019年度に先生に対する十分な教育等は実施するとのことではありますが、正直1年では難しいと思います。
現役SEから見たプログラミング教育の必要性と課題
プログラミング教育の必要性
どんな業界でも必ずどこかでIT(システム)が支えており、ITが関わっていない職業なんてありません。
今は少ししか関わっていなくとも、今後はITに依存する割合が高くなり人間の手から離れる仕事も少なくないでしょう。
そのような中、世間から必要な人材として育てていく為には、最低限必要なスキルだと考えられるでしょう。今でさえパソコンが触れないなんて使いものにならないとされるほど、ITスキルは重要な要点とされています。
学校教育だけでは不足
今後ますます需要が増えてくるIT人材へ成るためには、現在予定されている学校内だけの授業ではどうしても充分ではありません。
より高い専門力を身に付けるためには、早期段階におけるプログラミング能力の修得が不可欠だと考えます。
高いIT力を持った人材を育てる為には、中学・高校での専門性の高いプログラミング(難しいコードを入力し実行を行う)授業の実施が必要不可欠となります。
小学校では「プログラミング的思考」のみの修得目的だったのが、いきなりレベルが上がり付いていけない生徒も増えていくことでしょう。
苦手意識をもってしまうと子供本人の集中力、意欲等が削がれてしまい、IT力の育成にはとても大きなハンデと成ってしまいます。
子供の将来の為にもプログラミング教育に比重をおき、より早い段階でオンラインスクールや塾等を積極的に活用し、プログラミング能力を高めるべき子育てを進めるべきでしょう。
プログラミング教育の今後の課題
ICT環境の整備
ICT環境整備に係る予算は年々増加されており2017年は1,678 億円が講じられており、2018年から2022年までは単年度1,805億円が講じられている。
ICTとは
《information and communication technology》情報通信技術。[補説]ITとほぼ同義。日本では、情報処理や通信に関する技術を総合的に指す用語としてITが普及したが、国際的にはICTが広く使われる。~コトバンクより
しかし、日本全国の学校に平等に分配されるわけではなく、各地方団体で予算措置(費用の根拠を述べ、予算申請を出す)することが必要となっているため、学校の整備状況に差が生じている現状です。
各地方公共団体においては、地方財政措置を積極的に活用し、ICT環境整備を図ることが近々の課題となっています。
教材の開発や指導事例集の整備、教員研修等の在り方
2014 年より新教科「Computing」においてプログラミング教育を実施しているとされる英国(イングランド)や既にカリキュラムの一貫として取り入れている諸外国の「教員養成」「研修制度」や「指導者の確保方法」等を参考にし、日本の文化にカスタマイズし適用させる等により、質の高い知識等を有する教職員の育成や確保が不可欠だと考えます。
指導体制の充実や社会との連携・協働
IT分野においては学ぶべき情報がとても多く、教職員の方が0から勉強するにはとても時間もコストも要するかと思いますので、外部の現役SEやプログラマに講師依頼を出し、協力をあおるべきだと考えます。
私自身も中学や高校にはIT分野の外部講師として何度か授業を行った経験がありますが、その際に教職員の方々から受けた悩みの中には、今まで五教科と言われる国語や算数しか教えてないのに、今さらIT関連を教えることなど出来ない。自信がないとのことでした。
小学生においては「プログラミング的思考」の観点部分さえ押さえておけばよいのでしょうが、広い質問(ネットワークやアプリケーションについて)等にうまく答えることがむずかしかったりしますからね。
若い先生であれば、一般常識レベルで抑えているIT知識も年配の先生方には難しい点もあるかと思いますので。
まとめ
総評として、プログラミング教育の必修化はとても良いことだと思います。
小学生という幼い時期から様々な能力(論理的思考力、課題解決力、創造力)を育むことが、今後のAIやIoTの分野において必要不可欠であり、子どもの将来の可能性をグーンと広げることに繋がることを理解していただければと思います。
(就職先についても大手企業が多く、手に職をつけることで食いっぱぐれがありません。高校、大学もプログラミング能力が高ければ特待で入ることも可能となる点が現実的に親の目線ではすごくあり難いのです。。。)
しかし、地域によって環境にも先生にも質の差が出てしまうため、中々学校の授業だけでは身に付けることは難しいことも事実です。
向き不向きもありますし、強要させても苦手意識をもってしまうと意味がありませんが、外国語の修得同様にとても重要な教育となるであろうプログラミング教育、学校だけでは身に付けることは難しいのが事実です。
遊びの延長で学べるようなスクール等を活用し、より確実にプログラミングを修得できるよう検討されてはいかがでしょうか。
小学生にオススメのオンラインスクール「D-SCHOOLオンライン」についてはこちら!
【必読】D-SCHOOLオンラインが初めてのプログラミング学習に最適な理由とは(口コミ・評判あり)
-参考-
・文部科学省ホームページ
・経済産業省レポート
・新学習指導要領~情報教育・ICT活用関連部分のポイント~
・未来の学びコンソーシアム