事例324
プログラム作成を通じて、生成AIの効果的な活用方法を探求する授業実践
神奈川県立生田東高校 岡田恒志先生、大石智広先生
私は今年度の新採用で、生田東高校で情報の教壇に立っています。今回は、「プログラム作成を通じて、生成AIの効果的な活用方法を探究する授業実践」というテーマで発表します。
プログラミングで生成AIを使うことで、「どんな場面で使うと効果的か」を考える授業
この授業の背景です。
生田東高等学校は、神奈川県のICT利活用推進授業校に指定されており、生徒は1人1台のiPadを活用して授業を受けています。
さらに今年度、2学期の秋頃に文部科学省の「生成AIパイロット校」の指定も受けました。その中で、11月末に公開研究授業で、「各教科で生成AIを使った授業をやってみよう」ということになりました。
情報科ではどんな授業をしたらよいのか、ということを考えたときに、「生成AIをどのような場面で使えば効果的な活用になるのか」という議論は、あまりされていないのではないかと考えました。
他の教科でも、生成AIを使う場面はありますが、「取りあえず、あるから使ってみよう」といった形になっていないかと考えたのです。
「情報」では、プログラム作成を行いますが、そこではアルゴリズムを考えるという場面があります。そこで生成AIにもプログラム作成を指示して、自分が作ったものと比較することで、生成AIの効果的な活用と、人間が果たす役割りを実感できるようになればと思い、今回の授業を作成しました。
方針としては、プログラムを作成する過程で、生成AIを活用する、という場面を想定しました。
もちろん、生徒一人ひとりがプログラムをスムーズに作成ができればよいのですが、なかなかそれは難しく、根気を要する作業です。
特に苦手な生徒は、1回挫折してしまうとそれ以上進めなくなってしまうことが多いので、生成AIに手助けしてもらったり、参考になるようなヒントをもらったりする場面を想定して、今回の授業を作りました。
生成AIに、もっとおもしろいゲームにしてもらうプロトコルを作る
実際の授業展開です。
今回の実践では、まずは私の方で、生成AIに簡単なゲームのプログラムを作成させて、そのゲームを生徒たちに体験してもらいました。
その後生徒たちには、それがどんなゲームなのか、自分たちが普段やっているゲームや、人気のあるゲームとはどういうところが違うか、といったことを話し合って分析してもらいました。
今回のゲームの内容は、モンスターを倒すという非常に単純なものです。ゲームの中で、モンスターに与えるダメージを自分で設定できますが、常に最大火力の設定になっており、ランダム要素のようなものが欠けているつくりになっています。
それではちょっとつまらないだろう、ということで、次に生徒たちには、生成AIに対して、もっとおもしろいゲームになるような指示を出すためのプロトコルを考えてもらうことにしました。
しかし、1時間に授業を収めると考えると、プロトコルを考える時間を取るのはなかなか難しいので、こちらで3パターンほどプロトコルの例を出しておき、それを使って生成AIにゲームの修正プログラムを書かせて、そのゲームが実際に動くかを体験してもらいました。その上で、時間があった場合には、さらに改造するためのプロトコルを自分たちで入力していく形にしました。
AIに今すぐ任せられる仕事・難しい仕事を考えてみる
その後、ゲーム制作の流れから「生成AIに今すぐ任せられる作業」と「すぐにはちょっと難しい作業」を考え、Jamboardに書き出して整理する、ということを行いました。
さらに、ゲーム制作について考えるのが難しい生徒には、日常生活において生成AIに任せられること・すぐには難しいことを考えてもらいました。
これに関しては、生成AIよりも大きく括って、「AIに任せられること」という形で質問を投げ掛けました。そうすることで幅を広げて考えてくれた答えがいろいろありました。
生徒の意見をJamboardにまとめたのがこちらです。付箋の色分けは、意見の内容の種類ではなく、グループ4人のメンバーそれぞれの意見となっています。
そして、最後に「人間が生成AIをどのように活用していくとよいか、ということを考えよう」という形でまとめを行いました。
生成AIに任せられること・すぐには難しいことについて、生徒の意見をまとめたのがこちらです。
ゲーム制作で「任せられること」とされているのは、まず「単純なプログラムを書くこと」。私がこれはすごいな、と思ったのは、「売れるゲームの傾向を探る」というもので、これは収集したデータを分析させることもできるんじゃないか、と考えているのですね。
また「ゲームの土台を作る」というのは、ゲームのシステムの大まかな部分、今回であれば、バトルゲームの土台のようなところは作れるのではないか、ということですね。
さらに「どうすれば面白くなるか」ということについて、相談相手になったり整理してくれたりすることはできるのではないか、という意見もありました。
日常生活での事例については、最初に例を出したときにルンバ等の説明もしていたので、掃除や料理などの家事、計算や翻訳、自動運転など、実際に社会で進んでいることが出てきていました。
一方、生成AIには難しいこととしては、「全く新しいアイデアを出す」というところや、「人間が面白いと感じるものを理解し、達成する」こと、ストーリー性などが挙げられました。
日常生活の部分では、感情を理解すること、気遣いや恋愛。また、これも感心したのですが「人命に関わる作業」ということで、医療などはまだ難しいのではないか、ということが挙がっていました。
使い方では「生成AIの意見を参考にする」よりも「活用方法に気を付ける」方が多数
さらに、「人間は生成AIをどのように活用していけばよいか」ということに対する答えをざっくりまとめたのがこちらです。
「生成AIの意見を参考にする」という意見が多く出てくるかなと思っていましたが、40人のクラスで17人でした。
それよりも多かったのは、「規則や法律に違反しないように活用方法には気を付ける」という人が、クラスの半分を占めていました。この意見が出てくるという想定はしていましたが、ここまで多かったのには驚きました。プログラムを書かせたことで、「単純作業を任せる」という意見も出てきました。
考察です。「生成AIに任せられること・難しいこと」について、ゲーム作成に限って考えさせるのはなかなか難しく、実際授業の中でも手が止まっている人がいましたが、「日常生活で考えてみよう」と言うと、意見がたくさん出てきて、考えを拡げることにつながったのではないかと思います。
生徒は、生成AIのアプリを使ったり、プログラム作成に活用したりすることはスムーズに行うことができ、中には生徒同士で教え合って、工夫して使っていくことができていた人もいました。
今回の課題は、生成AIにコードを書かせるプログラム作成と、Jamboardを使った考察という、どちらもボリュームのある2つの内容を1時間でまとめてしまったので、より深い考察ができなかったことでした。それぞれ1時間ずつ使って展開すれば、より深い探究ができ、今後自分でプログラムを作成するときに、生成AIをうまく使っていくことが可能になりそうだな、という手ごたえを感じました。
[質疑応答]
Q1.高校教員
コードは全てAIに作らせて、それを何かに実装するときには、どんな形でされているのでしょうか。あるいは、今回の授業の中には入っていなかったのでしょうか。
A1.岡田先生
今回は、生徒達から生成AI(ChatGPT)に「Google Colaboratoryで、ゲームが動くようなプログラムを作成してください」という指示をさせました。後から渡す3つのプロトコルも、事前にColaboratoryで動くように作ったものをpdfにしておき、それをコピーアンドペーストで入力させるようにしています。
Q2.高校教員
この授業は、どの単元の、どのタイミングで実施されましたか。前後のつながりも教えてください。
A2.岡田先生
今回は「アルゴリズムとプログラミング」で、実際に生徒に自分でプログラム作らせる1つ前の段階の授業です。今回本校では、最初にアプリケーションを使ってプログラミングをやってみようということで、教材を準備して進めていましたが、なかなかハードルが高い部分もあったので、最終的にはGoogle Colaboratoryで何か作ってみよう、ということになりました。その準備段階の、一番最後の時間です。
「Google Colaboratoryでは、このようにコードを入力していくんだよ」という授業を行った後で、いきなり自分だけで作っていくのは難しいかなということで、生成AIの活用してみようということにしました。
自分一人で考えるだけでなく、相談相手にもなりますし、自分が書いたコードが正しいかな、というころも確認できるので、そのタイミングで入れた授業になっています。
神奈川県情報部会実践事例報告会2023オンライン オンデマンド発表より