2021年から、中学校でプログラミング教育が必修化されました。
中学校のプログラミング教育の目的を新学習指導要領をもとに解説します。
また具体的にどんな授業を行うのか、中学校におけるプログラミングの授業内容を実施例とともに解説します。
プログラミング教育について、下記の記事で詳しく、わかりやすく解説していますので、ぜひご覧ください。
- 2021年から中学校でプログラミング教育が導入された
- プログラミング教育では本格的なプログラミング言語は学ばない
- プログラミング教育ではビジュアルプログラミングを中心に学ぶ
中学校のプログラミング教育とは?
最初に、プログラミング教育が必修化・全面実施されるとはどのようなことか、意味を解説します。
そのうえで、中学校のプログラミング教育の目的を確認しましょう。
2021年中学校でプログラミング教育が全面実施
新学習指導要領によって、小学校・中学校でプログラミング教育が必修化されました。これが全面実施されるのが、2021年です。
少しわかりにくいため、「必修化」と「全面実施」について、言葉の意味をもう少し詳しく見てみましょう。
「必修」は「必ず修める」と書きます。つまり、必修化とは「プログラミング教育を必ず履修しなければならない科目にする」ということです。
一方「プログラミング教育の全面実施」とは、「2021年に中学2年生や3年生になる生徒を含め、すべての中学生が、卒業時点で中学校のプログラミング教育を完了している状態にする」ということです。
「中学校のプログラミング教育は2021年から」という、イメージを持ちますよね。しかし2017年の新学習指導要領告示後、全面実施を達成するため2018年から2020年の移行期間にも新学習指導要領にのっとったプログラミング教育が先行実施されています。
中学校のプログラミング教育必修化の背景・目的
中学校のプログラミング教育必修化の背景には、「Society 5.0」の実現があります。
「Society5.0」とは国が目指す「仮想空間と現実空間の高度な融合によって、経済発展と社会的課題の解決を行う人間中心の社会」を指します。
中学校のプログラミング教育の目的は「Society5.0」の実現に向け、生徒が生活や社会から問題を見いだして、解決できる人材を育成することです。
プログラミング教育の目的について、下記の記事で詳しく解説していますので、ぜひご覧ください。
中学校におけるプログラミング教育とは
中学校のプログラミング教育では、「技術・家庭科(技術分野「D・情報の技術」)」の授業の中でプログラミング教育を学びます。
「小学校との違い」「これまでの中学生のカリキュラムとの違い」について見てみましょう。
中学校と小学校の違いは?
中学校のプログラミング教育では、下記のとおり小学校より難度が高い内容を学習します。
- 情報セキュリティを含むネットワークについての学習
- 双方向性のあるプログラミングによる課題解決とプログラムの改善
小学校のプログラミング教育では、文字入力などの基本的な操作やプログラミング的思考を学びます。
中学校では、コンピューターを積極的に活用できるようにするため、技術面の指導が強化されます。
中学校の新学習指導要領とは?
中学校のプログラミング教育のカリキュラムは、文部科学省が定めた新学習指導要領に沿って決められています。
2020年までの学習指導要領と、2021年から全面実施された新学習指導要領の変更点は下記の点です。
- 「メディアを活用した一方向の情報発信」であったのに対し、新学習指導要領では「ネットワークを活用した双方向のやりとり」となった
- 「仕組みを学習したり、簡単なプログラムを作ってみる」という内容に、新学習指導要領では、「情報処理技術を活用した問題解決法の検討や修正」という内容が加わった
旧)技術分野「D・情報の技術」の内容:
- (1)情報通信ネットワークと通信モラル(ア・イ・ウ)
- (2)ディジタル作品の設計・制作
- (3)プログラムによる計測・制御
- (4)情報通信ネットワークと情報モラル(エ)
新)技術分野「D・情報の技術」の内容:
- (1)生活や社会を支える情報の技術
- (2)ネットワークを利用した双方向性のあるコンテンツのプログラミングによる問題の解決
- (3)計測・制御のプログラミングによる問題の解決
- (4)社会の発展と情報の技術
新しいカリキュラムの(2)と(3)が、プログラミングに関する内容です。また(1)では、身の回りの情報技術やセキュリティ・モラルを学びます。(1)は、プログラミングと組み合わせて展開することもあります。
(2)と(3)の詳しい変更点は、下記のとおりです。
【(2)の変更点】
旧)メディアの特徴や利用方法の学習、メディアを作った表現と発信等
新)ネットワークの構成や仕組み、デバッグ等の学習、問題の発見と課題設定、結果の評価、修正等
これまでが「メディアを活用した一方向の情報発信」であったのに対し、新学習指導要領では「ネットワークを活用した双方向のやりとり」となっています。
複数人で利用するチャットツール(人と人とのやりとり)や、コンピューターからの質問に対して入力をすることで応答が返るツール(人とコンピューターのやりとり)などが想定されています。
【(3)の変更点】
旧)計測・制御システムの仕組みの学習、簡単なプログラムの作成等
新)計測・制御システムの仕組みの学習や動作確認・デバッグ、問題の発見と課題設定、計測・制御システムの構想等
2020年までは、仕組みを学習したり簡単なプログラムを作ってみたりする、という内容でした。2021年からは、仕組みを学ぶだけでなく、情報処理技術を活用した問題解決法の検討や修正といった内容が含まれています。
技術の仕組みを学ぶだけでなく、それをどのように活用するのかについて検討し、実行・評価・修正するという実用的な学習が行われます。
中学校プログラミング教育の具体的な学習内容
新学習指導要領の変更点がわかったところで、次に「具体的に何をするのか」を見ていきましょう。
中学校のプログラミング教育の実践例を、ピックアップして解説します。
「(1)生活や社会を支える情報の技術」の教育実践例
- 【Society5.0 におけるプログラミングの役割とは?】
Society5.0に関する動画コンテンツを視聴した上で、その背景にある社会問題と、問題の解決法について考察しました。さらに、この授業を踏まえた上で「計測・制御システムのプログラミングによる問題解決」に関する授業も行っています。
「(2)ネットワークを利用した双方向性のあるコンテンツのプログラミングによる問題の解決」の実践例
- 【災害時の避難所を想定して問題を見いだし,ネットワークを生かした双方向でメッセージをやりとりできるプログラムで,課題を解決しよう】
避難所で運用する「チャットシステム」を作る授業です。災害時に必要な情報を必要な人へ届けるためにはどうすれば良いのかを検討し、それを実現するためのシステムを作りました。文字情報だけでなく、キャラクタの表示といった画像処理も実施しています。
- 【グループで音楽データを活用できるコンテンツを作ってみよう】
日本語でプログラミングできるソフトを使い、メールやチャット、音楽配信などができるプログラムを作りました。同時に、IPアドレスやサーバといったネットワークの基礎知識についても学習しています。
「(3)計測・制御のプログラミングによる問題の解決」の実践例
- 【みんなを幸せにする自動ドアのプログラムを作ろう】
子供用品店の自動ドアを想定して、利用者全員が安全に使える機能のプログラミングを行いました。
具体的には、まず「子供用品店の自動ドアで想定される問題」を考えます。その後、問題の解決に適したプログラムを作成しています。
また、作成したプログラムの動作確認とデバッグ、より良いものへの改善といった取り組みも行われました。
- 【安心・安全ホームセキュリティシステムを考えよう】
IoT機能を持ったセンサとアクチュエータを教材にした授業です。
この学習は、対話を重視して行われました。グループごとにホームセキュリティ案とプログラムを考えて「製品発表会」のプレゼンテーションを行ったり、課題解決のための手順をカードにして可視化したりと、ユニークな内容となっています。
数学への活用の提案
これまでに紹介したのは「技術・家庭科」での実践例ですが、数学の授業にプログラミングを取り入れるという提案もなされています。
- 山形大学大学院教育実践研究科年報第 10 号(2019)「中学校数学科におけるプログラミング教育の可能性 - 一次関数の活用を通して -」
- 早稲田大学高等学院、 甲南大学、 NPO 法人 Active Learning Associationによる、「中学数学におけるプログラミング教育の提案 ‐プログラミングの基礎力を育む中学数学の役割‐」
将来的には、数学や理科などにもプログラミング教育が取り入れられるかもしれません。
中学校でプログラミング言語は学習する?
中学校のプログラミング教育で、プログラミング言語を本格的に学ぶ、というわけではありません。
中学校で学習するプログラミング言語として、難度が低いビジュアルプログラミング言語Scratch(スクラッチ)や日本語で入力できる「なでしこ」などが選ばれています。
なでしこはPythonやJavaなどと同じ「テキスト型プログラミング言語」に分類されるもので、2021年度中学校技術・家庭科、技術分野の教科書にも掲載されています。
中学校のプログラミング教育におすすめの教材
中学校のプログラミング教育はスタートしたばかりのため、授業展開に悩む先生も多いです。
中学校のプログラミングの授業で活用されている教材の中から、おすすめを厳選して紹介します。
Scratch(スクラッチ)
Scratch(スクラッチ)は、マサチューセッツ工科大学が開発したビジュアルプログラミング言語です。文字の書かれたブロックをドラッグ&ドロップして、簡単にプログラミングができます。
「(2)ネットワークを利用した双方向性のあるコンテンツのプログラミングによる問題の解決」でプログラミングを行うときに活用されています。
プログル技術
プログル技術は、「双方向性のあるコンテンツのプログラミング」に関する教材です。特定非営利活動法人みんなのコードによって、指導案と共に無料で提供されています。
全部で5つのレッスンから成り立っており、1コマの授業で1レッスンずつ進められます。
ロボット・ロボットカー
「(3)計測・制御のプログラミングによる問題の解決」で利用されることが多いのが、ロボットやロボットカーです。
ロボットやロボットカーを意図したとおりに動かすためにはどうすれば良いのか考え、プログラミングを行います。
中学校のプログラミング教育の現状と課題
中学校のプログラミング教育をより良いものするための課題は、下記のとおりです。
- 指導や授業展開の難しさ
- 技術の進化に応じた指導教員のレベルアップ
- セキュリティレベルに関する課題
一般社団法人日本産業技術教育学会が行った「中学校プログラミング教育の実態調査」の結果から見えてきた、中学校プログラミング教育の課題について解説します。
プログラミング教育の課題について、下記の記事で詳しく解説していますので、ぜひご覧ください。
指導や授業展開の難しさ
中学校のプログラミング教育について、最も多く挙げられた課題は指導・授業展開の難しさでした。
新たに加わった学習内容について中学生にわかりやすく、かつ授業の目的を達成できる形でカリキュラムに落とし込むのは、簡単ではありません。
教師の負担を減らし、教育の質を底上げするためにも、より多くの活用しやすい教材の作成や指導例の公開などが必要でしょう。
技術の進化に応じた指導教員のレベルアップ
技術の進化に応じて指導教員がレベルアップする必要がある、という点も中学校のプログラミング教育の課題です。
情報技術の革新が進むと、過去の事例が時代遅れになってしまうことがあります。時代の進化に応じた授業を行えるよう、教師の知識をアップデートしていく必要があるのです。
実際に、スマートスピーカーや車の自動運転などはほんの少し前までSF的な未来の技術でしたが、今では実用化され生活に溶け込みつつあります。こうしたスピーディな技術の進化は素晴らしいものですが、教育を行ううえではそれに対応する課題も生まれます。
常に最新の知識を身につけるために学習を続けるというのは、教師にとっては負担です。教師スキルのレベルアップフォローは、今後の大きな課題になるでしょう。
セキュリティレベルに関する課題
中学校のプログラミング教育には、セキュリティレベルに関する課題もあります。
セキュリティレベルの課題とは、セキュリティレベルが高くて思ったような授業展開が困難である事例を指します。「USBポートの利用」「Wi-Fiの利用」といった行為に教育委員会等の権限が必要になり、教師個人の裁量では利用できないケースがあるのです。
とはいえ、セキュリティは安易に緩めて良いものではありません。不正アクセスやウイルス感染等によるトラブルを防ぐためには、適度なセキュリティが必須です。
プログラミング教育に最適なセキュリティバランスをどのようにとっていくのか、今後検討していく必要があります。
まとめ
情報技術の活用は、すでに多くの分野で行われていることです。これからの未来を担う中学生がこうした技術に触れることは、将来の大きな糧になります。
プログラミング教育は、論理的思考力や課題解決力を培えます。この力は、今後の学習や仕事に活かせる普遍的なスキルとなるはずです。
中学校のプログラミング教育をその場限りのものにしないために、目的意識を持って子供たちのスキルや興味を伸ばしていきましょう。
この記事のおさらい
中学校のプログラミング教育は、2021年から全面実施されました。2021年以降に中学校を卒業する生徒は、全員が中学校のプログラミング教育で学ぶべき内容を履修していることになります。
中学校のプログラミング教育は、「Society5.0(仮想世界と現実世界の高度な融合によって、経済発展と社会問題を解決する人間中心の社会)」の実現につながる人材の育成を目的としています。