ゲームで遊んでる場合じゃなくなる高校生のための計算機実験入門講座のすすめ
宮崎県立宮崎西高等学校講師

溝上 俊彦

キーワード：高校，プログラミング，ゲーム，オイラー法，モンテカルロ法，機械学習
実践の概要
理数科に適したプログラミング教材を開発する計画が2 年半前に始まった。ゲーム制作を手始めに、数学や物理・ングの習得には、生徒間にスピードの差が出てくる。それを補う方法としては、お互いに分からないところを教えあう AL 型の講座が不可欠である。

生物等の知識を使い計算機実験を行い、最後には機械自ら

また評価の一環として文化祭には AI 五目並べ競技会をが学習するプログラムを作る、という教材となった。講座開催し、生徒のプログラミング技術を競わせることにした。

後五目並べ競技会も開催し、肯定的評価が寄せられた。

４．開発内容１．開発の背景2020 年小学校にプログラミング教育が導入されその重プログラミング教材の題材を取り上げるにあたり次の3 つの視点を柱にした。
(1) ゲーム作成が与える教育効果の視点

要性が声高に叫ばれるようになった。このリニューアルしたプログラミング概念は当然高校にもやってくることに学習者に簡単なゲームを作らせることで、これまでゲーなる。生徒たちは IT 機器を自在に使っているようにみえ

ムをする側であった子供たちが、ゲームを作る側になり、て、その基本となるプログラミングについてはブラックボ

ゲームで遊ぶことやゲームの世界を客観視できるようにックスだと感じている。その黒い箱を開こうと、自分でプなる。生徒の感想で多いのは「こんなふうに作られているログラミング言語を学ぼうとする生徒もいるがうまくいのか！」である。また、この簡単なゲームを作っただけでかないようである。多くの市販のテキストはビジネスやそ自分なりの改良ゲームを作る生徒が出てくる（図 1）。の周辺の要求から作られたものであり、生徒たちの学ぶ知識や興味と結びついているわけではない。
本校では文部科学省の SSH 認定に伴って、プログラミングを学ぶ特設科目を作ることになったが、その時の大きな壁は「高校生が興味を持つプログラミング教材がない」ということだった。
プログラミング教育の失われた 10数年（いやもっとかもしれない）の現実にまず直面することになったのである。否応なく、この特設科目（2 単位）のために全くのゼロベースからプログラミング教材を独高等学校自で開発することになった。
２．目的
プログラミング教材開発の目標に置いたのは、現実の問題を解決する方法の一つとして計算機実験があるということを生徒たちに理解してもらうことだった。

図１ ブロック崩しゲーム※右側はプログラムコードを書くエディタ。テキストでは、コードの一部がブランクになっており、生徒たちは自分たちの力でそのコードを創り出していく。ラケットはキーボードの ←→で動かす。まだスイッチもなく作りかけの図。

そのためには、パソコンをネットとゲームとワープロの(2) 教科横断的な視点での教材開発道具から一歩先に進める必要がある。問題解決の具体例をプログラミング教育そのものは教科横断的な性格を持提示し、コードを書いて対象を動かし、計算機で実際のシつ。文系理系かまわず、数理的な視点をもてばプログラミミュレーションを体験する。計算機実験の結果が現実と近ングとつながってくる。例えば水タンクの底に穴をあける

ければ、プログラミングに使われた論理の妥当性が分かり、と、減少する水の高さは微分方程式で表すことができる。

さらに問題を解決するきっかけや方法を見つけ出す力をこれをコンピュータで解く方法は生徒にとって物理と数育てられると考えた。

学が融合して興味ある分野となる。この教科横断的な視点

３．方法で開発された教材は以下のようなものである。

教材開発のフレームワークにはエクセルを用いた。理由■「大谷翔平のホームラン軌道」といった現象を微分方程は、プログラミングに入る前に生徒たちはデータのグラフ式に表す方法を学びオイラー法で解くプログラム化においてエクセルを使っているためである。さらにこの■ニュートン法によりルート（平方根）の値を、精度の高グラフ化の技術によって、プログラミングの結果を分かりい近似で出すプログラムやすく見ることができ、少ない労力でプログラミングする■モンテカルロ法によるウイルス感染シミュレーションことが可能になった。
次に開発した教材をテキスト化し AL（Active Learning）型で講座受講できるようにする必要があった。プログラミ

モンテカルロ法は、確率を用いて問題を解いていく方法である。ウイルス感染はコロナ禍にあって生徒の関心は当然高い。このプログラムに取り組んだ生徒の中には、「致ＩＣＴ活用実践事例集 ＩＣＴ夢コンテスト２０２１− 52 −

べ競技会」を開催し生徒たちのプログラム同士の対決が実現した（写真1）。AI と言いつつ、まだ学習機能を持ったものは登場していない。しかし、生徒たちはどこかでコピーしたものを持ってきたわけではなく、全く白紙からコードを書いた。これで充分である。彼らは大学でその才能を伸ばしてくれるだ
図２

モンテカルロ法によるウイルス感染シミュレーション※10×10 のセルを 100 人の集団とみる。一つのセルにいる人の周りの 8 つのセル（8 人）からの感染確率を計算し感染しているかどうかはその確率サイコロで決める。一般に知られている微分方程式による計算と同等の結果が出てくる。もちろんこの確率サイコロのほうが直感的で理解しやすい。

死率が低いのは本当に安全なのか」というテーマでこのプログラムを改良して研究する生徒も現れた（図 2）。
(3) 学習機能を持つプログラミングへ挑戦させる視点
簡単な学習機能を持つプログラムを作ることで、生徒たちのブラックボックス化された AI の印象をすっかり変えることができる。図 3 のようにスタートからランダムに動くネズミが偶然ゴールした場合に、そのルートが少し有ろう。もちろん一方で、コードを写すだけで終わった生徒もいる。その理解度に差があるのはプログラミング教育に限るものではない。理数科の特設科目として開講したこの講座は、夏休みに普通科を対象に試行されるなど広がりを見せている。やはりテキスト化は普及と大きなかかわりがあった。以下に、このコンピュータ講座の位置づけを述べた【生徒の感想】を引用してこの実践の成果の一つとしたい。

利になるように確率（報酬）を少し上げる。機械学習の Q学習といわれる手法だが、ネズミは 300 回ほどの試行でゴールへの最短距離を発見するようになる。
この計算機実験を見ていると、「報酬」という概念は「記憶の強度」といったものと等価な印象を受ける。AI 型のプログラミングの学習は、生徒たちにとってヒトの脳と学START

GOAL

図３ ネズミの最短経路探索※エクセルのセルを利用して 9×9 のセルの中を、ネズミがモンテカルロ法で確率的に動き回る。少しずつ学習するネズミに生徒たちは夢中になる。

写真１

５．成果最終的に出来上がったテキスト「計算機実験入門講座」
は 270 ページほどになった。2021 年 9 月には「AI 五目並AI 五目並べ競技会※この大会は文化祭の物理部の催しとして 2021 年に初めて実施された。本講座に参加した生徒の作った 3 つのプログラムが参加。優勝したプログラムは全勝であったが、参観していた生徒との対戦では 1 勝 1 敗。人が勝利するとひときわ大きな拍手が参観者から起こった。

宮崎県立宮崎西高等学校・溝上 俊彦− 53 −

高等学校

習について考えるよい機会となる。

【生徒の感想】
これまでの自由研究では、実際に実験を行うことによってのみ仮説の検証、判断を行ってきた。そんな中で、パソコンを使い、架空の世界の中で検証するというこの講座は私にとってとても画期的なものであった。
（中略）
私は今（九大主催の）GSC プログラムに参加しており、大学の研究室でも広く計算シミュレーションが取り入れられていることに驚いている。さらに計算機実験により思ってもいなかった結果を導き出せた、ということを聞き、計算による実験の果たす役割の大きさに驚かされた。計算で研究をカバーできるようになれば、費用の面や安全面、また正確性など、多くの面での利点が考えられ、計算シミュレーションは今後ますます普及し、研究に貢献していくだろうと期待している。