プログラミング教育はなぜ必要? その目的を解説
文部科学省による学習指導要領改訂によりプログラミング教育は必修化され、小学校は2020年度、中学校は2021年度、高校は2022年度から順次全面実施となっています。なぜプログラミング教育は必要なのでしょうか。また、プログラミング教育を必修とする目的は何なのでしょうか。本記事で詳しく解説します。
- プログラミング教育とは
- プログラミング教育が必要とされる背景
- 小学校ではプログラミング的思考を育成
- 中学校ではプログラミング、情報セキュリティなどを学ぶ
- 高校では情報を活用する能力を育成
- プログラミング教育の事例
- 家庭でもできるプログラミング教育
- プログラミングを学べるツール
- プログラミング教育の目的を理解し、正しく学ぼう
プログラミング教育とは
現在の社会では情報技術の発展に伴い、コンピュータがなくてはならないものとなっています。すべてのコンピュータはプログラムによって動作しますが、そのことを意識して利用している人は少ないのではないでしょうか。
プログラムを作ることを「プログラミング」といいます。コンピュータの仕組みと共にプログラミングを理解すれば、コンピュータを上手に活用することが可能です。コンピュータが社会でなくてはならないものとなっている今、コンピュータを上手に活用することが求められています。
これを受けて、文部科学省では新しい学習指導要領からプログラミング教育を必修としています。文部科学省公開の「小学校プログラミング教育の手引」(※1)によると、プログラミング教育の目的として、以下の3つを掲げています。
①「プログラミング的思考」を育む
②現代の情報社会が情報技術に支えられていることに気づく
③各教科での学習をより理解しやすくする
これらの目的について解説します。
※1 出典:文部科学省「小学校プログラミング教育の手引(第三版)」
プログラミング的思考を育む
プログラミング的思考とは「物事を順序立てて考え、結論を導き出すために、論理的に考える力」のことをいいます。
コンピュータはプログラミングされた一連の手順を、そのまま順序通りに実行していきます。そのため、コンピュータを上手に動かすためには、どのような動きをどういう順序で実行すればよいか、という点を論理的に考えなければなりません。小学校のプログラミング教育では、この考える力を育むことを目的としています。
たとえばロボットを歩かせたい場合は、両手足をそれぞれどのように動かせばよいか、どういう順序で動かせばよいか、どういう条件のときにはどういう変化を持たせればよいか、といったことを考える必要があります。このように1つの目的のために、小さな処理をいかに組み合わせ、順序良く並べていくか、という点を考えることがプログラミングには大変重要です。
小学校ではプログラミング技術を用いるのではなく、まず考えることを重点に置いています。
現代の情報社会が情報技術に支えられていることに気づく
普段の生活において日常的にコンピュータを利用している一方で、コンピュータが動く仕組みである情報技術について詳しく知っている人はほとんどいません。つまり、情報技術によって日々の生活が支えられていることに気づけていないのです。
自宅にあるテレビ、電話、電子レンジなどの家電製品から自動車や銀行のATMなど、ありとあらゆるところでコンピュータが使われています。まず、コンピュータが日常生活の様々なところで利用されており、生活を便利にしていることに気づくことが大切です。そしてプログラミングを体験し、その経験をもとに能動的にコンピュータを活用して課題を解決する姿勢が求められています。
プログラミング教育では、このように情報技術が社会を支えていることに気づき、よりよく活用する態度を育むことをねらいとしています。
各教科での学習をより理解しやすくする
新学習指導要領では、コンピュータの仕組みや実際にコンピュータを用いて問題解決をするための技能は、中学・高校の各教科で学びます。小学校においては、プログラミング的思考を用いて問題解決ができることに気づくことを重視しています。
小学校では、プログラミング教育は新しい科目とするのではなく、既存の教科の中で学習していきます。つまり他の教科の中で出される課題に対し、プログラミング的に考えることで課題を解決し、考えることを身につけるだけでなく他の教科の理解を深めることがねらいです。
プログラミング教育が必要とされる背景
プログラミング教育が必要とされる背景には、どのようなものがあるのでしょうか。今のIT業界における課題を解説します。
急速な技術の発展に対応
近年クラウドコンピューティングを始め、AIやIoTなど、IT技術が目覚ましい発展を遂げています。また、デジタル技術を活用して生活をより豊かに変えるDX(デジタル・トランスフォーメーション)への変革が叫ばれています。
しかし、現在は急速な技術の発展に対応しきれない状態が続いています。経済産業省が発表したDXレポート(※2)では、DX(デジタル・トランスフォーメーション)の必要性を訴えており、DXが実現できない場合は2025年以降、“最大年間12兆円の経済損失が生じる可能性がある”とされています。
その理由として、老朽化したシステムや古い技術を使い続けることにより、爆発的なデータの増加に耐えられず市場の変化に迅速に対応しきれない、またシステムの維持に高いコストを費やし、いつまでも既存システムから脱却できない状態が続くという点が挙げられています。
急速な技術の発展に対応するためには、古い技術を使い続けるのではなく、新しい技術で市場に柔軟に対応できる人材が求められているのです。
※2 出典:経済産業省「DXレポート~ITシステム「2025年の崖」の克服とDXの本格的な展開~」
IT人材不足問題に対応
IT人材の不足も大きな課題となっています。経済産業省が発表した「IT人材の最新動向と将来推計に関する調査結果」(※3)では、2015年時点で約17万人のIT人材が不足しているとされています。また、2019年をピークに人材供給が減少し始め、2030年では約59万人が不足するとの見通しを立てています。
特に、IoTやAIといった先端IT技術を担う人材が不足しており、IT人材の育成が急務となっています。
このように、急速な技術の発展およびIT人材不足の問題に対応すべく、プログラミング教育の必要性が高まっています。
※3 出典:経済産業省「IT人材の最新動向と将来推計に関する調査結果」
小学校ではプログラミング的思考を育成
ここからは、小学校・中学校・高校で学ぶプログラミング教育についてそれぞれ紹介します。各段階によって目的および授業内容が異なります。そのため、成長する子供たちに合ったプログラミング教育の内容を理解することが大切です。
まず小学校では、プログラミング教育用の科目が追加されるのではなく、既存の教科へプログラミングを取り入れます。その中でプログラミングを体験し、プログラミングに対して興味をもち、親しんでもらうことに重点を置いています。
また、コンピュータに関する簡単な操作を学習したうえで、プログラミング教材を使ってプログラミングを体験します。簡単な命令をどのように組み合わせるか考えることによって、プログラミング的思考を育む内容となっています。
たとえば、算数の正三角形の作図では「線を引く」「60度傾けて次の線を引く」を繰り返すことで描くことができますが、これをプログラミングで表すという内容が授業例として挙げられています。さらに、正方形の場合、多角形の場合と応用することで、プログラミングだけでなく図形そのものの算数的な理解を深めることにも繋がります。
他にも事例として、ロボットを活用した授業もあります。マグネットのカードでロボットに命令を出してロボットを動かします。意図したとおりにロボットを動かすため、マグネットのカード(指示)を上手に組み合わせることで、プログラミング的思考を学びます。
中学校ではプログラミング、情報セキュリティなどを学ぶ
中学校では、すでに2012年から技術・家庭科でプログラミング教育が行われていました。この段階では「ディジタル作品の設計・制作」(ディジタル=デジタル)、「プログラムによる計測・制御」として、文字や画像を出力するプログラムの設計や制作が中心となっています。
2021年度から始まる新学習指導要領では、それまでの指導内容が拡充され、「ネットワークを用いた双方向的なコンテンツプログラミング」が学習内容に盛り込まれます。たとえば、チャットプログラムの利用や、コミュニケーションツールの利用が挙げられます。
他にも、今までは純粋にプログラムを制作することが目的でしたが、これからは「計測・制御のプログラミングによる問題の解決」に変更されています。課題解決のためにプログラムを制作し、結果を評価することで、自分で活動して問題解決に取り組む姿勢を育みます。
高校では情報を活用する能力を育成
高校では、2022年から共通必修科目として「情報Ⅰ」が、さらに選択科目として「情報Ⅱ」が新設されます。すでに情報系の学科ではプログラミングの学習に取り組んでいる学校もありますが、必修化によって普通科の学校でもプログラミングについて学ぶことになります。
具体的には、プログラミング言語やデータサイエンス、情報セキュリティなど、より専門性が高い内容が盛り込まれます。これらを通じて、コンピュータを活用し、表現力を養うことが目標です。
高校でも、プログラミング技術を身につけるとはいえ、それ自体が目的ではありません。プログラミングスキルを向上させながら、情報技術を活用し、問題解決能力を育むことを主眼に置いています。
プログラミング教育の事例
プログラミング教育が小学校で必修化される前から、すでにプログラミング教育に対して力を入れている自治体もあります。さらには、海外の学校ではずっと前から必修化されています。ここでは、プログラミング教育に力を入れている国内・海外の事例をご紹介します。
日本国内の事例
佐賀県武雄市では2014年から民間企業・大学と提携して一部の小学校でプログラミングの授業を実施(※4)。全児童にタブレットを配布し、小学校1〜3年生を対象に、プログラミング教育を行っています。
また、千葉県柏市では2017年から市内全小学校の4年生を対象にプログラミング教育を開始(※5)しており、情報活用能力、情報モラルの育成を目的とした授業を実施しています。
このように、各自治体で2020年の必修化の前から、企業と連携してプログラミング教育を進める学校が増えています。
※4 出典:武雄市「ICTを活用した教育(2014年度)」第一次検証報告書
※5 出典:CoderDojo Kashiwa「柏市とCoderDojo Kashiwaの取り組み」
海外の事例
海外でも、多くの国や地域でプログラミング教育が始まっています。エストニアでは2012年から始まっており、イギリスでは2013年から、フィンランドでも2016年からプログラミング教育が必修化されています。
他にも、必修化はされていないものの、アメリカや韓国、インドでも小学校からコンピューターサイエンスが選択科目として導入されています。日本は必修化が2020年からであるため、世界的に遅れているといえます。
家庭でもできるプログラミング教育
プログラミング教育を学校に任せるだけではなく、家庭でも実施したいと考える保護者の方もいるでしょう。今では多くのプログラミング教材があり、家庭でも学ぶことができます。
家庭でプログラミング教育を行うために準備すべきこと、また押さえておくべきことを解説します。
学習環境を整える
家庭でプログラミング教育を行うには、学習環境を整える必要があります。パソコンもしくはタブレットとインターネット環境があれば、家庭でプログラミング教育が可能です。
インターネット上でプログラミングを学べるサイトや、プログラミング教育向けのアプリが利用できます。その他、作成したプログラムをパソコンを介してロボットやパネルに転送し、思い通りに動かすことも可能です。
また、パソコンがなくともプログラミング教育向けのパズルやカード、おもちゃを使ってプログラミングを学べるツールも存在します。こちらは幼児、未就学児向けといえます。
子供と一緒にプログラミングを学ぶ
未就学児や小学生のプログラミング教育は、プログラミングを学ぶことが目的ではなく、プログラミングを楽しむことを重視したものが多いです。子供にプログラミングへの興味を持ってもらい、楽しく学ぶために、保護者も一緒に学ぶことも方法の1つです。
特に最初のうちは、順序よく処理を並べて意図したとおりにコンピュータを動かすのも難しいものです。子供と協力して課題に取り組むことで、親子のコミュニケーションもとれ、プログラミング的思考以外にも協調性や粘り強く課題に取り組む姿勢といった、多くの事を学ぶことができます。
保護者の方は学べる環境を整えたらおしまい、ではなく子供と一緒に学ぶ姿勢を持つことが大切です。
プログラミングを学べるツール
小学校の教材でも使われるような、子供でも簡単に学べるツールはたくさんあります。ただパソコンの画面上で動かすだけでなく、ロボットやボードで工作し、それらに対してプログラムを実行するものもあり、楽しみながらプログラミングを学ぶことができます。
ここでは、楽しみながらプログラミングを学べるおすすめのツールをご紹介します。
SPACEBLOCK(スペースブロック)
SPACEBLOCK(スペースブロック)とは、パソコンと接続してプログラムを実行できる小型マイコンボードです。パソコンでは専用のアプリケーションを用いて、初めての人でも簡単操作でプログラミングができます。マイコンボードは小型で扱いやすく、パソコンとインターネット環境さえあれば自宅でもプログラミングを学べます。
SPACEBLOCK(スペースブロック)を動かすためのプログラムは、あらかじめ用意されたブロックを並べたり組み替えたりすることで、誰でも簡単に作成できます。作成したプログラムはパソコンからSPACEBLOCKに転送し、文字や絵を表示させることができます。
届いてすぐ使用可能なパッケージになっており、子供への教材として最適です。
embot
embotは、ダンボールと電子工作キットを組み合わせてロボットやスイッチを作成し、自由にプログラミングして作成したロボットを動かすことができるプログラミング学習ツールです。ただプログラミングするだけでなく「つくる」「動かす」「ひらめく」ことで楽しくプログラミングが学べるような仕組みになっています。
プログラミングは習熟度にあわせて5段階用意されており、ブロックをつなげる基礎的なレベルから、変数・引数を使ったものまで幅広く学ぶことができます。さらに自由にプログラミングして思い通りにロボットを動かせます。
プログラミングが目的ではなく、プログラミングの楽しさを知ることができるツールです。
Scratch
Scratchとは、アメリカのマサチューセッツ工科大学(MIT)のメディアラボが公開しているビジュアルプログラミング言語です。無料で利用でき、日本語にも対応しています。
通常、プログラミングはテキスト形式で行いますが、Scratchはブロックをドラッグ&ドロップするだけで直感的にプログラミングできます。また、キャラクターや背景も予め用意されており、処理が複雑なゲームを開発することも可能です。
Scratchは世界中で利用されており、小学校から大学まで幅広い年齢から利用されています。また、Scratchで作成したプログラムは公開したり、公開されているプログラムを楽しむこともできます。
プログラミング教育の目的を理解し、正しく学ぼう
本記事では必修化されたプログラミング教育について解説しました。プログラミング教育は小学校でプログラミング的思考を育み、コンピュータを活用して主体的に行動する態度を育てることを目的としています。また、中学校ではコンピュータの仕組みおよびセキュリティ技術を学び、高校では「情報Ⅰ」科目が新設され、プログラミング技術について学習します。
現在の社会インフラを支える情報技術は、必須ともいえる技術です。プログラミング教育によって身近なコンピュータを子供のころから学ぶことは大変重要であり、将来仕事で役立つことが期待されます。学校だけでなく家庭でもプログラミング教材を活用して、楽しくプログラミングを学びましょう。