Column 07月 中学校でのプログラミング教育

「プログラミング教育必修化」では、小学校でのプログラミング教育のみが取り上げられる傾向にありますが、実は中学校や高等学校でも「プログラミング教育」が行われます。あまり触れられることのない中学校・高等学校での「プログラミング教育」について考えてみましょう。今回は中学校での「プログラミング教育」について取り上げます。

●実はこれまでも「プログラミング」は必修だった!
あまり知られていないことですが、実は現行の中学校学習指導要領でも「プログラミング」は必修なのです。現行の学習指導要領には、中学校の技術家庭科について次のような記述があります。

(3)プログラムによる計測・制御について、次の事項を指導する。
ア コンピュータを利用した計測・制御の基本的な仕組みを知ること。
イ 情報処理の手順を考え、簡単なプログラムが作成できること。

「簡単なプログラムが作成できること」と明記されていますので、中学校ではこれまでにも「プログラミング教育」が行われている……はずなのです。実際の運用についての解説である「学習指導要領解説」の該当部分を見てみましょう。

この学習では、プログラムの命令語の意味を覚えさせるよりも、課題の解決のために処理の手順を考えさせることに重点を置くなど、コンピュータを用いた計測・制御に関する技術の目的を意識した実習となるよう指導する。

あくまでも「計測・制御」が目的であり、そのために「プログラミング」があるという建て付けです。こうした機会を生かして「プログラミング」を体験させようとする先生方も多くいらっしゃる一方で、機材や授業時数の不足などから「プログラミング」の部分をほとんど行えない先生方もいらっしゃるようです。実習をさせようとすると事前・事後の準備を含めてかなりの時間が必要ですが、「技術家庭科」は1~2年次には週2回、3年次には週1回の授業時間しかありません。コンピュータ室の整備も十分に行える学校ばかりではありませんので、これまでに設備を整えてきた木工や金属加工に実習時間の多くが当てられるのは、「教育成果」を考えれば当たり前のことかもしれません。

●「新」指導要領では……?
それでは、2021年度から施行される「新学習指導要領」ではどのように規定されているのでしょうか。少し長くなりますが、該当部分を紹介しましょう。

(2) 生活や社会における問題を、ネットワークを利用した双方向性のあるコンテンツのプログラミングによって解決する活動を通して、次の事項を身に付けることができるよう指導する。
ア 情報通信ネットワークの構成と、情報を利用するための基本的な仕組みを理解し、安全・適切なプログラムの制作、動作の確認及びデバッグ等ができること。
イ 問題を見いだして課題を設定し、使用するメディアを複合する方法とその効果的な利用方法等を構想して情報処理の手順を具体化するとともに、制作の過程や結果の評価、改善及び修正について考えること。

(3) 生活や社会における問題を、計測・制御のプログラミングによって解決する活動を通して、次の事項を身に付けることができるよう指導する。
ア 計測・制御システムの仕組みを理解し、安全・適切なプログラムの制作、動作の確認及びデバッグ等ができること。
イ 問題を見いだして課題を設定し、入出力されるデータの流れを元に計測・制御システムを構想して情報処理の手順を具体化するとともに、制作の過程や結果の評価、改善及び修正について考えること。

現行の指導要領では単に「作成」とだけ表現されていたものが、これだけの言葉を尽くして説明されています。実際の工程を意識して「問題の設定」「手順を具体化」「制作」「動作の確認」「デバッグ」「評価」「改善」といった部分にも焦点が当てられているのがポイントです。そして、そもそもが「生活や社会における問題」を「解決」するためにプログラミングを行う、という建て付けになっています。

この変化は小さいようで大きなものです。小学校では「プログラミング的思考」の育成が目的でしたが、中学校では技術的な側面にも触れることを目的としています。学習指導要領解説でも、「簡易チャットを作成する」など、扱うテーマについても具体的な例が示されています。さらに、解説には

必要に応じて、参考となるプログラムを用意したり、あらかじめ教師が実装しておいたりするなど、課題の難易度が生徒の実態に即したものとなるように配慮する。

という文言もみられます。「プログラミング言語を用いて」「動作の確認」といった言葉からは、これまではコンピュータを使わない(アンプラグド)「プログラミング教育」を行ってきた学校でも、コンピュータを用いた「プログラミング」を行うことが求められていると考えられます。その意味では、いわゆる「プログラミング教育の必修化」という言葉から想像されるものに近い授業は、実は中学校で行われることになるのです。

もちろん、機材や授業時数の不足は引き続き問題として残ります。しかし今後、機材は整備されていくでしょうし、これまで他の実習に使われていた時間を「プログラミング」に振り替えることで実習時間を確保していくことになるのでしょう。

ただし、中学校においても「プログラミング教育」は「専門家」を育てるための教育ではないことに注意が必要です。これまで「技術家庭科」で扱われてきたテーマを思い返してみればわかるとおり、現代社会で広く扱われている「技術」を体験し、理解を深め、興味を持たせることが目的です。

●中学校における「プログラミング的思考」

ここまで見てきたように、中学校では本格的に「プログラミング」教育が始まります。一方、小学校段階で強調されてきた「プログラミング的思考」はどのような扱いになるのでしょうか。

中学校の新学習指導要領には「プログラミング的思考」という言葉そのものは登場しませんが、それは「プログラミング的思考」が不要だからではありません。学習指導要領の「総則」では、情報活用能力を育成できるよう、「各教科等の特質を生かし、教科等横断的な視点から教育課程の編成を図る」ことが求められています。小学校段階でのプログラミング教育でも「情報活用能力」の育成が同時に語られていますので、中学校でも「情報活用能力」の一部分として「プログラミング的思考」が求められていると解釈できるでしょう。学習指導要領の解説には

情報活用能力を発揮させることにより、各教科等における「主体的・対話的で深い学び」へとつながっていくことが一層期待されるものである

といった記載があることからも、引き続き各教科では「プログラミング的思考」につながる活動が求められていると考えています。

●ポイントは「高校入試」

最後に、中学校で「プログラミング教育」が定着するかのポイントとして「高校入試」を挙げておきます。

公立中学校に通う生徒にとって、あるいはそうした生徒を指導する先生方にとっても、中学校生活における最大のイベントのひとつが「高校入試」です。特に3年生にもなれば、授業でも課外活動でも「高校入試」を意識したものが増えてきます。生活のありとあらゆる場面で「高校入試」が顔を覗かせます。そのような状況で、果たして「プログラミング教育」は生き残ることができるのでしょうか。――「公立高校」の入学試験を考えると、先行きはそれほど悪くないことでしょう。

公立高校の入学者選抜では「9教科の成績」が問われることが多いため、いわゆる「実技科目」でも手は抜けません。あるいは、中学校での特筆すべき活動実績が高校入試の際に有利に働く場合があるため、プログラミングに興味を持った生徒がいれば、先生方も後押ししてくれることでしょう(少し先の話になりますが、大学入試でも「これまでにどのような活動をしてきたのか」が問われるようになるとされています。大学入試については、マナビシフトの「新大学入試」で様々な観点から触れています)。

また、公立高校の入試問題は「学習指導要領に沿った内容」が「まんべんなく」出題されています。直接的に出題されないまでも、思考力を問う問題が多くなっているため、いわゆる「プログラミング的思考」を意識した問題が出題されることは十分に考えられます。小学校で「プログラミング教育」が必修化し、高校入試でも「プログラミング」「プログラミング的思考」が意識されることで、中学校でのプログラミング教育は粛々と進んでいくものと考えています。

【次回予告】 高等学校ではこれまでも教科「情報」で「プログラミング」を扱うことがありましたが、とても「プログラミング教育が行われている」とは言えないのが現実です。これまでどのような「プログラミング教育」が行われていて、今後どのように変わっていくのかを考えます。