小中高等学校のつながりを意識した高等学校プログラミング教育の充実－『情報Ⅰ』におけるプログラミング教育－
情報教育研修課

主任指導主事兼課長 山本義史

指導主事

森川 征広

指導主事

原口攻一郎

指導主事 難波伸也

指導主事 高田寛子

キーワード：情報Ⅰ、プログラミング的思考、情報の科学、アルゴリズム（手順）、アルゴリズムの比較、既存コード、関数（モジュール）、プログラムを読み解く力
はじめに
平成 29、30、31 年に改訂された学習指導要領において、プログラミング教育が小学校段階から導入されるとともに、高等学校の共通教科情報科には共通必履修科目「情報Ⅰ」が新設されて令和４年度入学生からすべての高校生にプログラミングが必修になった。このことにより小中高等学校と継続してプログラミングについて学ぶことになった。
本研究は３年計画で実施するプログラミング教育に関する研究であり、今年度がその最終年である。１年目は小学校プログラミング教育についての授業実践とその検証をもとに、授業づくりのポイントを「導入」「プログラミング的思考」「授業展開の留意事項」の３段階に分けた合計 12 項目のチェックシートを作成した。２年目は中学校技術・家庭科（技術分野）教員を対象に、プログラミング教育の実施に向けた準備の状況についてアンケートを行った。また、中学校技術・家庭科（技術分野）「Ｄ 情報の技術」における充実・拡充された内容について課題を整理し、中学校プログラミング教育で育成する資質・能力体系表を作成した。
本年度は、高等学校共通教科情報科の科目「情報の科学」を開講している学校で実施したプログラミング教育に関するアンケート調査なども踏まえながら、「情報Ⅰ」の授業実践に向けて必ず押さえておきたい内容を整理し、その指導方法について提案する。

１ 平成29、30、31年改訂学習指導要領におけるプログラミング教育(1)

小学校のプログラミング教育の内容

小学校学習指導要領（平成 29 年告示）解説総則編１）では、プログラミング教育のねらいとして、以下の３つを挙げている。
①

論理的思考力（プログラミング的思考）を育むこと。

②

プログラムの働きやよさ、情報社会がコンピュータをはじめとする情報技術によって支えられていることなどに気付き、身近な問題の解決に主体的に取り組む態度やコンピュータ等を上手に活用してよりよい社会を築いていこうとする態度などを育むこと。

③

教科等で学ぶ知識及び技能等をより確実に身に付けさせること。

これらのねらいは、プログラミングの体験を通して実現すること、また、児童がプログラミングに取り組んだり、コンピュータを活用したりすることの楽しさや面白さ、また、達成感を味わわせることである。
前述のプログラミング教育のねらいの一つである「プログラミング的思考」について、小学校プログラミ
ング教育の手引（第三版）２）には、次のように記載されている。

1― 13 ―

「自分が意図する一連の活動を実現するために、どのような動きの組合せが必要であり、一つ一つの動きに対応した記号を、どのように組み合わせたらいいのか、記号の組合せをどのように改善していけば、より意図した活動に近づくのか、といったことを論理的に考えていく力」
このことを、コンピュータを動作させることに即して考えると、小学校プログラミング教育の手引（第三版）には、次のように記載されている。
①

コンピュータにどのような動きをさせたいのかという自らの意図を明確にする。

②

コンピュータにどのような動きをどのような順序でさせればよいのかを考える。この際、意図した一連の動きが、一つ一つの動きをつなげたものであることを理解する。
③

一つ一つの動きに対応する命令（記号）が必要であることを理解する。

④

これらの命令（記号）をどのように組み合わせれば自分が考える動作が実現できるかを考える。

⑤

その命令（記号）の組合せをどのように改善すれば自分の考える動作により近づいていくのかということを試行錯誤する。
小学校プログラミング教育の手引（第三版）では、「プログラミング教育は、学習指導要領に例示された単元等はもちろんのこと、多様な教科・学年・単元等において取り入れることや、教育課程内において、各教科等とは別に取り入れることも可能」と記載３）されている。また、小学校プログラミング教育の手引（第三版）にプログラミングに関する学習活動として例示４）されているものには、第５学年算数科での「プログラミングを通して、正多角形の意味を基に正多角形をかく場面」や第６学年理科での「身の回りには電気の性質や働きを利用した道具があること等を、プログラミングを通して学習する場面」などがある。

(2) 中学校のプログラミング教育の内容
中学校学習指導要領（平成 29 年告示）解説技術・家庭編５）では、「急速な発達を遂げている情報の技術に関しては、小学校におけるプログラミング教育の成果を生かし発展させるという視点から、従前からの計測・制御に加えて、双方向性のあるコンテンツに関するプログラミングや、ネットワークやデータを活用して処理するプログラミングも題材として扱うことが考えられる。
」と述べられている。また、「技術分野としては、小学校において育成された資質・能力を土台に、生活や社会の中からプログラムに関わる問題を見いだして課題を設定する力、プログラミング的思考等を発揮して解決策を構想する力、処理の流れを図などに表し試行等を通じて解決策を具体化する力などの育成」といった問題解決学習にも言及している。
表１において、令和２年度までの学習指導要領（旧学習指導要領(平成 20 年告示)）から令和３年度以降の学習指導要領（新学習指導要領 (平成 29 年告示)）でプログラミングの内容がどのように改訂されたかについて示す。プログラミングに関する内容で、新たに「(2)ネットワークを利用した双方向性のあるコンテンツのプログラミングによる問題の解決」が増え、「(3)プログラムによる計測・制御」は、従来の情報処理の手順と、簡単なプログラムの作成だけでなく、問題の解決を意識した内容になっている。
表１ 中学校技術・家庭科（技術分野）
旧学習指導要領（平成 20 年告示）
Ｄ 情報に関する技術(1)情報通信ネットワークと情報モラル(2)ディジタル作品の設計・制作(3)プログラムによる計測・制御

情報に関する内容の改訂

新学習指導要領（平成 29 年告示）
Ｄ 情報の技術(1)生活や社会を支える情報の技術(2)ネットワークを利用した双方向性のあるコンテンツのプログラ
ミングによる問題の解決(3)計測・制御のプログラミングによる問題の解決(4)社会の発展と情報の技術

中学校学習指導要領（平成 29 年告示）解説技術・家庭編より(3)

高等学校プログラミング教育の内容

高等学校学習指導要領（平成30年告示）では、共通教科情報科「情報Ⅰ」が必履修になった。情報Ⅰの４つの分野のうち「コンピュータとプログラミング」の内容では、プログラミングやシミュレーションによって問題を発見・解決する学習活動を行うことが示されている。学習活動の例として、高等学校学習指導要領
2― 14 ―

（平成30年告示）解説情報編６）（以下、新学習指導要領解説と呼ぶ）や高等学校情報科「情報Ⅰ」教員研修用
教材７）（以下、情報Ⅰ研修用教材と呼ぶ）に記載されている内容を６つ挙げる。
ア

アルゴリズム（手順）をフローチャートなどで表現アルゴリズム（手順）をフローチャートやアクティビティ図などで示すことにより、プログラムを作成しやすく、作成したフローチャートでトレースを行うことで、正しいアルゴリズムかどうかを確認する方法を学ぶ。
イ

順次・分岐・反復を含む簡単なプログラムの作成
アルゴリズムの基本構造である順次・分岐・反復の各処理を組み合わせることで、様々な手順を表現する

ことを理解し、問題を解決するためのアルゴリズムを表現する方法を学ぶ。
ウ

リストや乱数などの関数を取り扱うための具体的な方法
プログラムを作成する上で、乱数などの既存の関数を取り扱う。関数を用いてプログラムをいくつかのまとまりに分割し、それぞれの関係を明確にして構造化する方法を学ぶ。また、Web API（Application Program
Interface）を活用し、外部のサービスやビッグデータを使用した問題の解決を行う方法を学ぶ。
エアルゴリズムによる効率の違い
アルゴリズムやデータ数、探索する値が異なれば、処理時間が異なることを理解する。構造化の処理や、線形探索と二分探索の探索回数の比較などを例に、効率的なアルゴリズムについて考える力を身につける。
オ

プログラミングを使ったモデルのシミュレーション
プログラミング言語を活用し、モデルを動かしてシミュレーションを行う方法を理解する。モデルは、表現形式や対象の特徴によって次のように分類することができる。
・確定モデル・・・不規則な現象を含まず、方程式などで表せるモデル
・確率モデル・・・サイコロやクジ引きのような不規則な現象を含んだモデル
情報Ⅰ研修用教材では、複利法による預金金額の時間的変化のモデル化、サイコロの目の出方の傾向のモデル化が例として挙げられている。プログラムを使わなくてもシミュレーションは可能であるが、プログラミングによって、膨大な量の繰り返し試行が可能であることから、コンピュータを活用することの実用性を理解させる。
カ

自然現象のモデル化とシミュレーション
自然現象を表現した数式モデルを利用し、コンピュータを使ってシミュレーションを行い、問題を解決する方法を学ぶ。
以上が、情報Ⅰのプログラミング教育の内容であるが、令和３年度までの学習指導要領で行っているプログラミング教育についての内容について確認する。

２ 高等学校プログラミング教育の事例(1) 高等学校におけるプログラミング教育
令和３年度までの学習指導要領で、共通教科情報科は「社会と情報」「情報の科学」２科目からいずれか１科目を必履修することとなっているが、アルゴリズムやプログラムについて扱われているのは、情報の科学のみである。情報の科学におけるプログラミングの内容について以下に示す。
ア

情報の科学におけるプログラミングの内容
情報の科学の４分野のうち「問題解決とコンピュータの活用」の内容を示す。次の事項を身に付けることができるよう指導することが高等学校学習指導要領（平成21年）８）に記載されている。

ア

問題解決の基本的な考え方
3― 15 ―

問題の発見、明確化、分析及び解決の方法を習得させ、問題解決の目的や状況に応じてこれらの方法を適切に選択することの重要性を考えさせる。
イ

問題の解決と処理手順の自動化
問題の解法をアルゴリズムを用いて表現する方法を習得させ、コンピュータによる処理手順の自動実行の有用性を理解させる。
ウ

モデル化とシミュレーションモデル化とシミュレーションの考え方や方法を理解させ、実際の問題解決に活用できるようにする。

このうちイ、ウについて、高等学校学習指導要領(平成22年)解説情報編９）（以下、旧学習指導要領解説と呼ぶ）をもとに具体的な内容を示す。
イ

問題の解決と処理手順の自動化(ｱ) アルゴリズムを用いた表現方法の習得
問題の解決手順を、アルゴリズムを用いて表現する学習活動として、アルゴリズムをフローチャートで表現したり、順次構造、分岐構造、反復構造を理解するための簡単なプログラムの例として、変数を用いた計算やキーボード入力による条件分岐を行うプログラムを制作する。
(ｲ) 処理手順の自動実行
簡単なアルゴリズムを生徒に表現させ、コンピュータに自動実行させるなどの体験的な学習活動を通して、次の２点について生徒に理解させる。
・自動実行の有用性
適切なアルゴリズムでコンピュータに自動実行させることによって、誤りなく繰り返し実行できる。
・アルゴリズムによる効率の違い
手順の違いにより、処理時間に大きな違いが生じることを理解させる。
ウ

モデル化とシミュレーション(ｱ) 問題解決へのシミュレーションの活用
問題解決を行うための手段として、プログラミング言語を使って下記のようなシミュレーションの学習活動が想定されている。
・確定的モデルのシミュレーション
預貯金額の変化、電気料金の計算、一定時間における水量の変化
・確率的モデルのシミュレーション
コイン投げ、待ち行列、モンテカルロ法を用いた円周率πの近似値
イ「情報の科学」「情報Ⅰ」でともに扱うプログラミング教育の内容
令和４年度から高等学校学習指導要領（平成30年告示）が実施されるにあたり、「情報の科学」「情報Ⅰ」でともに行うプログラミングの指導内容は、次のとおりである。
(ｱ) アルゴリズム（手順）をフローチャートなどで表現(ｲ) コンピュータによる自動実行の有用性(ｳ) アルゴリズムによる効率の違い
ウ「情報の科学」で扱ってきたプログラミングの指導内容のうち、今後、小学校・中学校で扱う内容
次の内容は、小学校・中学校段階で既習して高等学校に進学してくることから、高等学校では、生徒の理解度に合わせたプログラミングの指導を行う必要がある。
(ｱ) アルゴリズム（手順）を表現
身近な生活でコンピュータが活用されていることや、問題の解決には必要な手順があることに気付くこと。
(ｲ) 簡易なプログラムの作成
中学校においては、社会におけるコンピュータの役割や影響を理解するとともに、簡単なプログラムを作4― 16 ―成できるようにすること。

(2)

県立高等学校におけるプログラミング教育の実態

今年度、「情報の科学」を開講する本県の県立高等学校 28 校に対し、プログラミング教育に関するアンケート調査を以下の内容で実施した。
問１

授業で扱ったことのある内容について、「はい」・「いいえ」のいずれかを〇で囲んでください。
「はい」の場合は配当時間も書いてください。

①

アルゴリズム（フローチャート）について指導したことがある。

②

アルゴリズムの基本構造（順次、分岐、反復）について指導したことがある。

③

基本的なプログラム（変数と計算）について指導したことがある。

④

配列を使ったプログラムについて指導したことがある。

⑤

逐次探索、二分探索について指導したことがある。

※その他の項目がある場合には、加筆できるようにしてある。
問２

問１において、授業で扱っている内容を具体的に記述してください。

※この項目については、箇条書きも可とした。
問１の回答は、20 校から得られた。集計結果は、表２のとおりである。
表２

問１の集計結果①アルゴリ
ズム（フローチャート）②アルゴリ
ズムの基本構造（順次、分岐、反復）③基本的なプログラム（変数と計算）④配列を使ったプログ
ラム⑤逐次探索、二分探索

18191712890.0%
95.0%
85.0%
60.0%
40.0%
1.5
2.2
2.01.6
1.5
問２の回答は、17 校から得られた。主な回答内容は、表３のとおりである。
実施校数
実施率
平均時数

表３

その他

210.0%
1.5

１年間プログラミングに費やしている平均時間（１校あたり）

6.8

問２の主な回答内容

・順次・分岐・反復学習
・逐次探索、二分探索（教科書、副教材に準拠したもの）
・乱数を用いたサイコロ、おみくじ、じゃんけんのプログラム
・アプリ作成・利息計算のシミュレーション
・同じ誕生日の人がいる確率をシミュレーション
・ビジュアルプログラミング（Scratch）
問１については、回答番号①、②、③で「はい」の答えが多く、実施率はそれぞれ 90.0％、95.0％、85.0％であった。配当の平均時数もそれぞれ 1.5 時間、2.2 時間、2.0 時間であり、多くの学校でアルゴリズムやその基本構造、および基本的なプログラムに時間を割いて指導している。また、プログラミングの分野に配当した平均時数が 6.8 時間であることから、プログラミング分野の指導で 3/4 近くの時間をアルゴリズムや基本的なプログラムの演習に割いていた。この傾向は、総時数の長短（2～11）に関わらず一定である。
指導内容についても、主に教科書や副教科の題材を中心とする現状がわかった。一部の学校では、ビジュ
アルプログラミングなど、文部科学省が求める体系的なプログラミング教育を意識した取組や、乱数や逐次探索、二分探索によるプログラミングを扱うケースも見られたが、大半の学校では教科書等に記載された内容をそのまま扱っている実態が分かった。
5― 17 ―

また、開発環境については、Excel VBA や Web 上でのサービスを利用していることが多い。専門高校における情報処理教育にならった指導方法が多く見られたが、単位数や配当時数が大きく異なる中、体験に留まる内容しか扱えていない。
そもそも、共通教科情報科は職業人の育成が目標ではなく、キャリア教育を見据え、一人一人の社会的・職業的自立に向け、将来どのような職業に就くとしても必要な基盤となる能力や態度を身につけさせることが大切な中、指導内容・指導方法ともに共通教科情報科独自のものでなければならない。
次項では、これらの実態も踏まえて指導方法の提案を行う。

３ 情報Ⅰでのプログラミング教育(1)
ア

必ず押さえておきたい内容「情報Ⅰ」「情報の科学」共通の指導内容「情報Ⅰ」「情報の科学」でのプログラミングに関する共通の指導内容は、先に記したとおりである。この
うち、必ず押さえておきたい以下の２つの内容について、指導上の留意点とともに紹介する。
(ｱ) 問題解決の際に、その手順をフローチャートなどで表現できるようにすること
旧学習指導要領解説及び新学習指導要領解説では、「問題の解法を、アルゴリズムを用いて表現する」と記載されている。プログラミングといえば、各種プログラミング言語の記法に注目されがちであるが、あくまでも記法の習得が主目的にならないように留意すべきである。
「情報の科学」を開講する県立学校の調査結果でも、アルゴリズムの基本構造（順次・分岐・反復）を中心とした授業を行う現状が示された。本年度、当課で開講した情報科教育講座Ｃにおける受講者アンケート
でも、フローチャートをプログラム化するコーディングのみを意識した授業実践の回答が見られた。しかし、情報Ⅰの授業を進める上では、アルゴリズムの基本構造を理解させることだけでなく、問題を解決するためのアルゴリズムを生徒に考えさせる学習活動も必要である。
Society5.0社会とも称される今日、決まった問題の解法を身につけるだけでは不十分で、将来の予測が困難な中、ICT等も効果的に活用し他者と協働しながら新たな課題を解決していく創造力が求められる。フローチ
ャートやKJ法など、問題発見や問題解決に向けた手順・情報を図形化などにより整理するとともに、解決の切り口・アプローチなどを考え、最適解を導く手法を身に付けるために、小学校からのプログラミング教育を体系的に学ぶことが重要である。
(ｲ) アルゴリズムによる効率の違いを発見すること反復構造を用いれば処理時間の短縮を図ることができるといったように、アルゴリズムにより効率の違いが生じることを理解させる。このことにより、ハードウェアの高度化による処理時間の短縮を生徒に実感させるだけではなく、コンピュータの負荷軽減のためにより効率的なアルゴリズムを生徒に考えさせる演習を取り組ませることができる。小・中学校では、主にビジュアルプログラミングを利用し簡単なプログラムを作成する活動を行うが、その基礎の上に、高等学校ではより効率的なアルゴリズムを生徒に考えさせる必要がある。
イ情報Ⅰで新たに学ぶ内容
前述アと同じく、情報Ⅰで新たに学ぶ内容について、新学習指導要領解説及び情報Ⅰ研修用教材をもとに紹介する。
(ｱ) プログラミングによって情報通信ネットワークを活用する
新学習指導要領解説の例として、「気象データや自治体が公開しているオープンデータなどを用いて数値の合計、平均、最大値、最小値を計算する単純なアルゴリズムを表現する活動」が記載６）されている。これまでは、コンピュータを用いて合計、平均、最大値、最小値などを求めるソフトウェアの操作方法を中心に指導してきたが、今後はオープンデータの存在を知るとともに、大量のデータを処理する経験を通して、その6― 18 ―

過程の中でコンピュータの特性を生かした、アルゴリズムの基本構造の組合せによる処理方法を学ぶ。この時、情報通信ネットワークとデータの活用の分野と連携しながら、授業を進めることも考えられる。オープ
ンデータを取得する際にAPIを利用し、外部のビッグデータや処理機能を活用できることも理解させる。
(ｲ) 関数の使用による構造化を理解する
確率モデルのシミュレーションを行う際、乱数を発生させるための関数を利用することが考えられる。既存の関数を利用する際に、関数の引数や戻り値を理解することで、乱数の発生を自らプログラミングしなくても、この関数を利用することができる。
また、一般にシステム開発などで行われるプログラムは大規模のため、コードの長さも膨大となる。このような場合、コードの可読や表現は著しく難解なものとなる。そこで、プログラムの機能ごとにメインコードから切り離し、関数という単位で分割することで、プログラムを機能ごとに整理、構造化することが可能となる。情報Ⅱでは、情報システムの分割と設計の仕組みを理解することも想定されていることから、関数という考え方を理解することも必要である。
(ｳ) データの構造や配列の活用について、理解を深める
新学習指導要領解説６）には、データやデータ構造について理解するとともに、そのデータを扱うためのプログラムを作成するために必要な技能を身に付けるようにすると示されている。情報の科学の教科書にも、配列について記載されている。
データの探索や並び替えを行うプログラムを作成する際、配列にデータを格納するのが一般的であり、配列について触れている教科書もある。情報Ⅰでは、大量のデータを扱うことも想定されていることから、データ構造や配列の活用についても指導を行う必要がある。
(ｴ) プログラミング言語を活用して、モデルを動かしてシミュレーションする確定モデルのシミュレーションでは、シミュレーションの結果から、モデル式の特徴やモデル式のパラメータを変更することでの結果の変化を考察する。確率モデルのシミュレーションでは、乱数を発生させ、一様に同じ確率で出現するのかを判断する。モデルの妥当性について、検討する活動を通して、生徒に考えさせる授業ができるようになる。
情報Ⅰ研修用教材では、プログラムを使わなくてもシミュレーションは可能であるが、プログラミングによって膨大な量の繰り返し試行が可能になったため、シミュレーション結果を評価して改善する事の重要性について認識させることと記載されている。
上記(ｱ)～(ｴ)の内容から、今後、情報Ⅰはプログラミングを用いて問題解決を行う際に、ネットワーク上のデータの利用や既存のモジュールの利用、シミュレーションを行うことが想定されている。

(2)ア(1)をもとにした指導方法
生徒に身に付けさせたい基本的なプログラミング能力(ｱ) 既存コード、関数（モジュール）の利用
すべての教材について１からプログラムを記述する必要はなく、既存のコードの活用、関数（モジュール）を組み合わせ、プログラムを構築することが、新学習指導要領解説にも記載されている。プログラミングに慣れていない生徒に対しては、細かく管理することにより活動はしやすくなると考えられるが、自ら解決していく力が身につかないため、生徒同士で進行状況を相互チェックさせフォローアップさせる活動を取り入れる。一方、プログラミングに関心が高い生徒に対しては、複数人で問題解決を図る際のリーダー役として活躍させ、周囲の問題解決能力を引き上げるだけでなく、一度は完成したプログラムをより発展・応用させるための新たな課題を与え、理解を深めさせる。今の時代、手元にある教科書等だけが知識の源でなく、その気になれば、Web や書籍等からいくらでも深い学びへとつなげていける可能性が存在する。
(ｲ) プログラムを読み解く力
新学習指導要領解説６）では、アルゴリズムの効率を考える力、プログラムを作成する力、作成したプログ
7― 19 ―

ラムの動作を確認したり、不具合の修正をしたりする力を養うことが記載されている。これらの力を養うた
めには、プログラムを読み解く力が欠かせない。この読み解く力を身につけるには、多くのプログラムに触れることが必要である。自分で作ることも必要であるが、完成されたプログラムをもとに、処理内容を把握するためにトレースなどを演習することや、教員が不具合を仕込んだプログラムを提供し、それを解決するための演習を行うことが効果的である。
これらのプログラムを読み解く力は、簡単に身に付けられるものではないが、他の単元とも連携しながら、少しでも多くプログラムに触れる時間を確保することが必要である。
令和７年度以降の大学入学共通テストに「情報」が入ることが決まり、そのサンプル問題が独立行政法人
大学入試センターのWebサイトに掲載されている。プログラミングに関する問題では、これまでの「情報関係基礎」と同様、大学入試センターが記述上のルールを独自に定めた疑似言語を前提とした問題が示されている。大切なのは、特定のプログラミング言語の記法を知識として身につけることではなく、明示された記述上のルールをふまえ、目の前に示されたプログラムコードにおいて、その処理内容を読み解く力を育むことである。
イ

他教科に応用できるプログラミング能力(ｱ) 問題を発見し、解決のためのプログラミングを行う
シミュレーションの結果からどのようなことが言えるのか考えさせる。問題を発見し、何をねらいとしてプログラミングを行うかしっかりと確認する。プログラミングによる解決手段は１つでなく、様々な解決手段がある。とりあえず問題を解決するプログラムが完成できたとしても、より最適な処理手順がないか、細分化し、処理を最適化した手順を模索させる。
(ｲ) シミュレーションを行う中で、データを用いた客観的な分析や考え方を身に付ける解決方法の探索、結果の予測段階で、プログラミングやシミュレーション等の考え方を用いることが出来ないかを考えさせる。あわせて、他者に的確かつ分かりやすく伝えるための情報デザインの考え方を意識してプログラミングさせる。前述ア(ｲ)と同様、情報Ⅰの他分野との連携を行いながら、解決策の提案を示す取組も考えられる。
また、情報Ⅰ研修用教材にも記載されている通り、プログラミングにおける学習では、自然現象や社会現象の問題点を発見し、コンピュータやプログラミングを活用した解決策を提案する。現象の説明について、モデルを構築して説明することが効果的であることを伝える。最初からモデルを作るのは難しいため、モデルを提示し、モデルを比較することなどを通して、仮説となるモデルを構築させる。目に見えない現象の仕組みについて理解させるのは難しいため、説明モデルの活用と吟味を十分に行う。
授業では、生徒にとって身近で具体的なシミュレーションの題材を取り扱う。 シミュレーションで扱うデータは、可能であれば生徒たちが自らの手で集められるデータを取り扱う。センサの位置情報のデータなどを活用し、集めたデータをもとにシミュレーションを行う活動を取り入れた演習も考えられる。

４ 小中高等学校で系統的に学習するためのプログラミング教育
小中高等学校で系統的に学習するためのプログラミング教育を行うためには、「情報活用能力体系表例」（令和元年度情報教育推進校（IE-School）が作成）に示される内容をもとに、目の前の子どもたちの実態を把握した段階的な指導が必要で、次の２点を特に重視したい。

(1) プログラムを読み解く力の育成
プログラムを作成するとはいえ、１行目１文字目からすべてを考えて作成するのではない。プログラムを読み解く力の育成を目標に、既存コード・関数（モジュール）を活用したプログラムが作成できたり、既存のプログラムをより効率的なものに書き換えることができるようにしたい。
小学校では、自分が意図する一連の活動を実現するための簡易なプログラムの作成を体験する活動を、中
8― 20 ―

学校技術・家庭科（技術分野）では、計測・制御で自分が意図する実行結果を出すために、既存コードの一部を変更する活動を行う。さらに、高等学校では、シミュレーション等を行う際に、既存コードや関数（モジュール）を組み合わせたり部分的に書き換え活用することで、自分が意図する新たなプログラムを作成することや、より効率的なプログラムを作成する活動を行う。
これらの学習活動を進めるためにも、小中高等学校のプログラミング教育を通して、プログラムを読み解く力の育成が肝要である。創造力の第一歩は模倣から始まるともされる中、児童生徒が新たなプログラムを作成していく上で、多くの完成品に触れさせたり、数字を当てはめて一連の処理内容を理解させるトレースを経験させたり、担当教員が意図的にプログラムに不具合を仕込み、そのデバッグを重ねる演習などが、プログラムを読み解く力の育成には効果的であると考える。

(2) 他教科と連携した問題解決のためのプログラミング教育
ここでいう他教科との連携とは、特定の指導内容を他教科に委ねることではない。問題の発見やその解決を考えていく際、プログラミングを活用することであり、むしろ問題そのものを他教科の中から発見することである。
小学校では、身近な生活の中での気づきを促したり、各教科等で身に付いた思考力をプログラミング的思考につなげたり、コンピュータの働きが身近な生活場面で役立っていることを実感しながら、自分の生活に生かそうとする力を育成することが必要である。中学校技術・家庭科（技術分野）では、ネットワークを利用した双方向性のあるコンテンツとして簡易なチャットのプログラムの作成や、計測・制御のプログラミングとして自動潅水を行うプログラムの作成を通して、小学校同様、身近な生活の中での気づきを実感させることが大切である。これらの学習活動の上に、高等学校では、自然現象や社会現象などから、各教科の見方・考え方を働かせ、問題を発見し、解決するためのプログラミングを作成する活動を行う。
このように、小中高等学校のそれぞれにおいて、身近な生活の中や自然現象、社会現象から問題を発見し、コンピュータの働きを理解し、プログラムを作成することで解決に向かっていくことがプログラミング教育
では大切である。

おわりに本年度は、共通教科情報科のうち、プログラミングが含まれる科目「情報の科学」を開講する高校にアンケート調査を行うほか、情報科教育講座や新科目「情報Ⅰ」を代替科目で実施する専門教科の教育講座等でもプログラミング分野についての指導の実態を聞きとり、現状把握を行った。この上で、新学習指導要領解説や研修用教材の内容も踏まえながら、高等学校共通教科情報科におけるプログラミング教育について研究を進め、必ず押さえておきたい内容とその指導方法についての提案を行った。
学習指導要領改訂に伴い、いよいよ来年度から高等学校で共通教科情報科「情報Ⅰ」が実施される。高等学校の共通教科に情報科が新設された当時と比較しても、情報技術はますます進展し、高度情報通信ネット
ワーク社会を迎えた今日、情報分野の存在なしに私たちの暮らしは考えられない時代となっている。
将来の予測が困難な中、プログラミング教育をはじめとする情報教育の学びは、今後の社会を生き抜く人々にとって基盤となる資質・能力の１つである。大学入学共通テストで「情報」が新設されるから、学びを充実させるのではない。
情報教育を担当する教員は、自身が学生時代に教わったことのない知識や技術を指導しなければならない。
だからこそ、不安を抱く教員の存在も否めないが、児童生徒のために今まで教わったことのない新たな内容を学び深めていくことは、この上なくやりがいのある取組の１つではないかと考える。情報教育は扱う教材が年々発展を遂げるものであり、前年度の教材や資料が今年度もそのまま活用できるはずはない。毎年、たゆまぬ授業改善を重ね、常に最新の状態にアップデートされた授業を実践していただきたい。
小中高等学校のつながりを意識し、小学校、中学校、高等学校と３年間にわたり各校種におけるプログラ
9― 21 ―

ミング教育の充実を扱ってきた本研究は、ここで１つの区切りとなるが、各校における教育の情報化がます
ます進展していくことを強く願い、当教育研修所では引き続き他の領域とも連携しながら情報教育の研究・研修講座の実施に取り組んでいく。
最後に、本研究を進めるにあたり、多方面にわたってご協力いただいた学校ならびに担当教員に、心より謝意を表する。

注）１）文部科学省，『小学校学習指導要領(平成 29 年告示)解説総則編』，2019，pp.85,86
２）文部科学省，『小学校プログラミング教育の手引（第三版）』，2020，p.13
３）文部科学省，『小学校プログラミング教育の手引（第三版）』，2020，p.23
４）文部科学省，『小学校プログラミング教育の手引（第三版）』，2020，pp.25-27
５）文部科学省，『中学校学習指導要領(平成 29 年告示)解説技術・家庭編』，2019，pp.7,49６）文部科学省，『高等学校学習指導要領(平成 30 年告示)解説情報編』，2018，pp.31-35７）文部科学省，『高等学校情報科「情報Ⅰ」教員研修用教材』，2019，pp.114-151８）文部科学省，『高等学校学習指導要領(平成 21 年)』，2009，pp.102,103９）文部科学省，『高等学校学習指導要領解説情報編(平成 22 年)』，2010，pp.28-30＜参考文献＞
・波部新ほか，「小中高等学校のつながりを意識した小学校プログラミング教育の充実－資質・能力の育成に向けた授業づくりのポイント－」『研究紀要第 129 集』，兵庫県立教育研修所，2019
・村本由佳ほか，「小中高等学校のつながりを意識した中学校技術・家庭科（技術分野）におけるプログラミング教育の充実－資質・能力体系表の作成－」『研究紀要第 130 集』，兵庫県立教育研修所，2020・文部科学省，『高等学校情報科「情報Ⅰ」教員研修用教材』，201910― 22 ―