icon
icon

小中高で必修化するプログラミング教育とは〈導入背景や目的を徹底解説〉

小学校、中学校、高等学校と学校教育課程におけるプログラミング教育の必修化が決定してから多くの関心が集まっています。 しかし、プログラミング教育とは具体的に何を学ぶのか、どんな授業をするのか、実際はよく分からないという方が多いのが現状です。 そこでこの記事ではプログラミング教育必修化の導入背景や目的について詳しく解説していきます。

テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日  調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名  調査手法:インターネット調査

小学校、中学校、高等学校と学校教育課程におけるプログラミング教育の必修化が決定してから、生徒や保護者はもちろん、教育者たちからも関心が集まっています。

ですが、プログラミング教育とは具体的に何を学ぶのか、どんな授業をするのか、イマイチよく分からないという方が多いのが現状です。

そこでこの記事ではプログラミング教育必修化の導入背景や目的について詳しく解説していきます。

目次

プログラミング教育とは

技術革新の急速な進展に伴い、文部科学省は2020年度〜小学校2021年度〜中学校2022年度〜高等学校へと段階的にプログラミング教育の必修化を決定しました。

プログラミング教育は、あらゆる活動においてコンピュータ等を活用することが求められるこれからの社会を生きていく子どもたちにとって、将来どのような職業に就くとしても極めて重要となる、ということで導入されました。

コンピュータの仕組みを理解するためにはプログラミングを学び、自分の手でコンピュータを動作させてみるという経験が効果的です。

そもそもプログラミングとは

プログラミングとは、簡単にいうと「コンピュータに命令すること」。
詳しく説明すると、コンピュータにさせたい処理を順番に書き出した「プログラム」をつくる作業のことです。

コンピュータはプログラミングによって「命令」を与えることではじめて、私たちが意図した動きをしてくれます。

私たちの身の回りにある、パソコンやスマートフォン、アプリやゲーム、さらにはAIや自動運転技術も、プログラミングで作成されたプログラムによって動いているのです。

[PR] ITスキルを習得して在宅で副業する方法とは

プログラミング教育を知る〈3つのポイント〉

ここでは、学校教育課程におけるプログラミング教育を簡単に理解する3つのポイントを紹介します。

 1. プログラミング教育は 教科・科目ではない

プログラミング教育は、「プログラミング」という教科、科目として導入されるわけではありません。

小学校では、算数や理科、音楽、総合、といったような普段の教科の中でプログラミング教育が実施され、文字入力など基本的な操作を習得とプログラミング的思考の育成を目的としています。

中学校では、技術・家庭科の技術分野としてプログラミング教育が実施され、プログラミング・情報セキュ リティに関する内容を学びます。

高等学校では、プログラミング教育を実施するために情報科において共通必履修科目「情報Ⅰ」が新設され、すべての高校生がプログラミングのほか、ネットワーク(情報セキュリティを含む)やデータベースの基礎等について学習します。さらに「情報Ⅰ」に加え、選択科目「情報Ⅱ」を開設して、情報通信、データ処理、情報システムなど幅広い内容を学ぶことができます。

 2. 必ずしもパソコンを使うわけではない

プログラミングと聞くとパソコンを使って難しいプログラミング言語を打ち込む、というイメージがありますが、プログラミング教育には必ずしもパソコンを使うわけではありません。

プログラミング教育の目的の一つに「問題を論理的に捉え、解決法を考える能力を育成する」というものがあり、コンピュータに触れる前の試行錯誤をする段階にも大きな意味があります。

そのため、パソコンを使わずカードやボードゲームを使ってグループワークで授業を行ったり、身の回りにあるコンピュータの処理がどのような順序で行われているか、などを考えることも立派なプログラミング教育となります。

このようにパソコンなどの電子機器を使用せずに、プログラミング的な思考に基づいて行う学習をアンプラグド・プログラミングと言い、特に小学校低学年を対象としたプログラミング教育で実施されています。

 3. プログラマーの育成が目的ではない

プログラミング教育は、プログラマーの育成を目的としているわけではありません。

文部科学省の有識者会議では、プログラミング教育を通して養う資質・能力を次のように整理しています。

  • 身近な生活でコンピュータが活用されていることや、問題の解決には必要な手順があることに気付く
    → 知識及び技能・思考力、判断力、表現力等
  • 発達の段階に即して、コンピュータの働きを、よりよい人生や社会づくりに生かそうとする態度を育む
    → 学びに向かう力、人間性等

先にも述べた通り、コンピュータを使った技術を様々なシーンで活用していくことが求められる、これからの子どもたちにとって、プログラミング教育を通した経験は将来、強力な武器となるため、プログラマーを育成するためだけのものではないのです。

プログラミング教育必修化の背景

はじめに述べた通り、技術革新の急速な進展に伴い、2020年度〜小学校2021年度〜中学校2022年度〜高等学校へと段階的にプログラミング教育が必修化されます。

ここではプログラミング教育が小学校、中学校、高等学校と段階的に導入されることとなった、2つの社会背景について詳しく解説します。

 1. 第4次産業革命:IT技術の進歩

近年の日本をはじめ我々が生きる世界では、第4次産業革命とも呼ばれるような進化したAI(人工知能)が人間と同等以上の制度で様々な判断を行ったり、スマートフォンや家電といったものがインターネットを経由して最適に動作していたりする時代が到来しています。

そしてこの時代の変化は、社会や我々の生活を大きく変えていくであろうという予想が行われています。

「AIの急速な進化が、将来の人間の職業を奪うのではないか?」、「現在、学校で教わっていることは時代が変化したら通用しなくなるのではないか?」という不安の声が上がり、それらを裏付けるような研究成果や未来予測が多く発表されています。

現代社会では、ほとんどの職業でパソコンやタブレット端末のようなコンピューターを巧みに使いこなして、厳しい経済競争を戦うこととなります。

また、それらコンピュータとコンピュータが産み出すものについて強いスキルを持つ個人は、より必要とされていくことでしょう。

 2. IT人材の不足

上記のような第4次産業革命において、かつては技術大国ニッポンとしてグローバル社会を席巻してきたその技術力、製品力、ソリューションにも陰りが見えはじめており、特に、中国、韓国などのアジア近隣の先進国や、インド、フィリピンなどの中東、東南アジアの新興国のIT技術の発展も目覚ましいものがあります。

このような現状の中、とりわけ日本ではIT人材が不足しており、技術の衰退に拍車をかけるような状況になってきています。

しかしこれは裏を返せば、プログラミング教育を受ける日本の未来の子どもたちには、第4次産業革命の中で活躍するチャンスが広がっていくということになります。

また、科学技術を扱う研究機関や電子メーカーに限らず、金融や卸売業、サービス業においてもIT技術導入とソリューション提供、それらの技術成長は重要なミッションとなっており、それぞれの業界からも例年多くのIT人材の求人出されています。

さらに、小学校、中学校、高等学校と段階的にプログラミング教育が必修化となったことで、学校教師などの「教える側」のプログラミング能力に関しても急速に需要が拡大していくことが予想されます。

このように、次の世代のためのIT人材の確保もプログラミング教育必修化の大きな理由の一つとなっています。

プログラミング教育は、第4次産業革命の最中、グローバルに世界で戦えるような子どもたちの未来の可能性を大きく拡大させるものといえるでしょう。

プログラミング教育必修化の目的

文部科学省ではプログラミング教育を実施する目的を次の3つに分類しています。ここでは下記3つについてそれぞれ詳しく解説します。

1. 「プログラミング的思考」を育むこと

文部科学省の有識者会議では、プログラミング的思考について次のように定義しています。

プログラミング的思考とは、自分が意図する一連の活動を実現するために、どのような動きの組合せが必要であり、一つ一つの動きに対応した記号を、どのように組み合わせたらいいのか、記号の組合せをどのように改善していけば、より意図した活動に近づくのか、といったことを論理的に考えていく力

プログラミング教育では、子どもたちが試行錯誤を繰り返しながら自分が考える動作の実現を目指す中で、思い付きや当てずっぽうで命令の組合せを変えるのではなく、うまくいかなかった場合にはどこが間違っていたのかを考え、修正や改善を行い、その結果を確かめるなど、論理的に考える力が身に付きます。

2. 情報技術の重要性に気付き、それを活用しようとする態度を育むこと

プログラミング教育を通して、プログラムの働きやその活用性の高さ、情報社会がコンピュータ等の情報技術によって支えられていることに気付くことができます。

単にプログラミングの能力を高めるため、プログラミングを職業とする人向けの教育ではなく、コンピュータ等を上手に活用して身近な問題を解決したり、よりよい社会を築こうとする態度を育むこともプログラミング教育の重要な目的の一つとなります。

3. 各教科での学びをより確実なものとすること

プログラミング教育を通じて、児童がプログラミングの技能を習得したりするといったことは考えられますが、先述した通り、それだけをねらいとしているわけではありません。

このことを小学校のプログラミング教育、下記のA、B、Cの3つのグループの例を挙げて紹介します。

A: 学習指導要領に例示されている単元等で実施するもの

例えば、「算数」の授業中に正多角形の意味を基に正多角形を描くようなプログラムを作成します。
正多角形がもっている「辺の長さが全て等しい」、「角の大きさが全て等しい」、「円に内接する」、「中心角の大きさが全て等しい」のような性質を考慮して、コンピュータが理解できる命令を組み合わせて実際に正多角形を書くプログラムを作成します。

また、「理科」の授業では、プログラミングによって電気が着く、消えるを制御するといった形で学習にプログラミングを活用します。
プログラミングを通して、身の回りにある、電気の性質や働きを利用した道具を知ることや、電気の量と働きとの関係、発電や蓄電、電気の変換などについて、自分の手でプログラミングによってコントロールすることによって理解を深めることができます。

他にも、「総合的な学習の時間」などでプログラミングが導入されます。

B: 学習指導要領に例示されてはいないが、学習指導要領に示される各教科等の内容を指導する中で実施するもの

例えば、「音楽」の授業では、様々なリズム・パターンを組み合わせて音楽をつくるようなプログラミングを作成したりします。

また、「家庭科」の授業では、炊飯を行う処理の流れをプログラミングする体験を通して、自動炊飯器に組み込まれているプログラムを考えます。炊飯について学ぶと同時に、生活の中で身近な家電製品などにコンピュータ(プログラム)が活用されていることを子どもたちが理解できます。

C: 教育課程内で各教科等とは別に実施するもの

各教科等とは別にプログラミングの楽しさや面白さ、達成感などが味わえるような目標を設定してプログラミングを学びます。

例えば、画面上を自動的に動く敵に捕まらないように、自分のキャラクターを動かすことができるゲームのようなプログラムを制作します。
自分のキャラクターが自動的に画面上を動くプログラム、キャラクターを自分で操作できるようにするプログラム、キャラクターと敵が触れたときに動作が停止するプログラムのような、具体的な処理を作成するような内容です。

実際の科目とは切り離して実施することで、より子どもたちの興味を引き付けることができ、コンピューターやプログラミングに対して苦手意識を持っている子どもたちが興味を持つきっかけになります。

【小中高別】プログラミング教育の目的と特徴

プログラミング教育の目的や内容は小学校、中学校、高等学校で異なります。
ここではそれぞれのプログラミング教育について詳しく説明していきます。

 1. 小学校のプログラミング教育:〜順序立ったプログラミング思考〜

小学校のプログラミング教育の目的は、身近な生活でコンピュータが活用されていることや、問題の解決には必要な手順があることに気付く、ということです。

小学校のプログラミング教育の必修化の時期は2020年度からとなっており、文部科学省でも詳細な議論と準備が進められています。しかしその現状は、しっかりと取り組んでいる学校がある一方、具体的な取り組みが行えていない学校があるなど、格差がある状態です。

具体的な授業内容は、算数や、理科、音楽、家庭科といったような普段の教育科目の際に、プログラミングを用いてそれらの科目の理解をより深めていくために実施されたり、順序立った物事の考え方を身に着けるような内容となっています。

プログラミング思考を身に着けることで、単にコンピュータやプログラミングに対してのスキルが身につくだけでなく、子供たちが困難な場面に出くわした場合に自分の力で解決しようとする、課題解決能力の育成にも大きく寄与します。

使用する教材は、ビジュアルプログラミング教材と呼ばれる、難しいコードを打ち込まなくてもマウスのドラッグ&ドロップで命令の書かれたブロックを動かし、プログラムを作成できるものを使います。
この教材を使用して絵をかいたり、それを動かしたり、音をつけたりしてゲームやアニメーションなどの作品を簡単に作ることができます。
ビジュアルプログラミング教材にもいくつか種類がありますが例として「Scratch(スクラッチ)」や、「マインクラフト」などがあります。

他にもアンプラグド・プログラミングでパソコンを使わずにカードやボードゲームを使用したり、わかりやすく物を動かすためにロボット教材を用いることもあります。

 2. 中学校のプログラミング教育:〜双方性コンテンツのプログラミング〜

中学校のプログラミング教育の目的は、社会におけるコンピュータの役割や影響を理解するとともに、簡単なプログラムを作成できるようにする、ということです。

中学校のプログラミング教育の必修化の時期は2021年度からとなっており、小学校におけるプログラミング教育の内容程ではありませんが、文部科学省でも詳細な議論と準備が進められています。

具体的な授業内容は、小学校での内容からは少し発展した内容となり、具体的にはセンサーやモーター、ほかのプログラムとの通信を行うことで、プログラム同士がやり取りをしながら並行して処理を行う手順を学びます。

使用している教材は、パソコンのほか、小型コンピューターであるRaspberry PiにセンサやLEDランプを接続してデータのやり取りを行ったりします。

コンピュータだけでなく、LANやUSBなどの電子機器、周辺機器に関する考察や理解も深まります。

▶︎中学生のプログラミング学習〈おすすめの言語・教材・教室〉紹介

 3. 高等学校のプログラミング教育:〜総合的な情報システム教育〜

高等学校のプログラミング教育の目的は、コンピュータの働きを科学的に理解するとともに、実際の問題解決にコンピュータを活用できるようにすること。ネットワークやデータサイエンスなどと絡めた総合的な情報システム教育です。

高等学校のプログラミング教育の必修化の時期は2021年度からとなっており、中学校におけるプログラミング教育の内容と比べてより検討段階ではあますが、文部科学省でも詳細な議論と準備が進められています。

高等学校でのプログラミング教育の授業内容について説明します。

現行の共通教科「情報」の必修科目である「社会と情報」、「情報の科学」が統合されて「情報I」となり、さらに発展した内容を「情報Ⅱ」として新設され、その科目の中でプログラミング教育が実施されます。

「情報I」、「情報Ⅱ」では、情報通信、データ処理、情報システムなど幅広い内容を学習します。

さらに、ビッグデータのような統計情報を含むデータの処理や分析、数学や物理、化学など教科と連携した学習も行われることが計画されつつあります。

さらに、クラウドサービスやスマートフォンで使われるプログラミングを扱うなど、総合的かつより実用的なプログラミング教育が行われることが期待されています。

小中高で必修化する「プログラミング教育」

今回は、2020年度から小学校、中学校、高等学校とそれぞれ段階的に必修化する「プログラミング教育」について解説してきましたが、いかがでしたでしょうか。

プログラミング教育は、単にプログラマーやシステムエンジニアになるためのものではなく、子どもたちの考える力を強化し、これからの高度に発展していく情報社会を未来の子どもたちが有意義に暮らしていくために、必要不可欠なのです。

それでは最後に、今回紹介したプログラミング教育のポイントをまとめておきます。

  • プログラミング教育は教科・科目として増えるわけではない
  • 難しいプログラミング言語を打ち込むわけではない
  • 目的① プログラミング的思考を育む
  • 目的② 情報技術の重要性に気づき活用しようとする態度を育む

プログラミング教育によってコンピュータと、それを動かすプログラムについて勉強することで、仕組みを理解してそれらを活用していく力を身に付けることができます。

そしてこれらの経験は第4次産業革命と呼ばれる、身近な物の働きがインターネット経由で最適化される時代を生きていく子どもたちにとって、非常に役に立つスキルとなることでしょう。

この記事を通して、プログラミング教育必修化の意義が伝わっていたら幸いです。

▶︎世界のプログラミング教育について知りたい

▶︎参考資料:文部科学省