事例221
情報Iはすべての授業で問題解決を
神奈川県立茅ヶ崎西浜高校 鎌田高徳先生
私は神奈川県の情報教員になって12年目になります。宮崎県の出身で、関西大学では久保田・黒上研究室で学びましたが、教員としての採用は神奈川県です。神奈川県はとても熱心な情報科の先生が多く、切磋琢磨できる環境ですので、本当に良かったと思っています。神奈川県では、毎年12月にはオンラインで実践事例報告会を行っていますので、ぜひご参加ください。他県の先生方の発表も大歓迎です。
今回私が今回お伝えしたいのは、「情報Ⅰ」では全ての授業で問題解決をしませんか、というご提案です。そして、「『情報』とは何を教える教科なのか」ということを考えると問題解決を行う教科だと思います。なので、私がこれまで問題解決をテーマとして行ってきた授業設計や授業実践、授業研究の事例をご紹介したいと思います。
今回の発表の流れです。
まず、「情報Ⅰ」は「情報社会の問題解決」から始まりますが、問題解決とは何なのかということ。
次に、問題解決型の授業を行う際に、「情報デザイン」における問題解決、「コンピュータとプログラミング」における問題解決で私が何をしてきたのか、という事例のご紹介。
最後に問題解決の授業を行う上でのポイントについてお話しします。
「情報I」の情報社会の問題解決とは
まず1つ目の、「情報社会の問題解決」についてです。
4月から本格的に「情報Ⅰ」が始まります。2019年に文部科学省から「高等学校情報科『情報I』教員研修用教材」(以下、教員研修用教材)が出てから2年間、各都道府県教育委員会では研修等が行われてきました。
「情報Ⅰ」の基本構造は、学習指導要領や、その解説、教員研修用教材、そして昨年出た「情報Ⅰ」教科書の見本本を見ると、この4つの項目から成っていることがわかります。
こちらは、京都精華大学の鹿野利春先生のご発表で使われたスライドです。ここで示されているのは、「情報Ⅰ」のゴールは問題の発見・解決である、ということです。そして、学習指導要領の第2章の「情報デザイン」、第3章の「プログラミング」、第4章の「情報通信ネットワークとデータの活用」は、問題の発見・解決のためのツールにあたる、ということです。
つまり、情報デザインやプログラミング、ネットワーク、データ活用の授業は、情報デザインだけに収まったり、単にプログラムの書き方に終始するのでなく、「情報デザインを使った問題解決」「プログラミングを活用した問題解決」あるいは「ネットワークとデータを活用した問題解決」というように、これらをツールとして問題解決を行うのが「情報Ⅰ」の構造となっています。
※クリックすると拡大します。
これを受けて、私は2019年の全国高等学校情報教育研究会の全国大会でこの図を使って実践報告をしました。情報Ⅰの授業のベースとなるのは問題解決ですが、問題解決のための情報デザインをツールとして活用するだけではなく、情報デザインの設計をプログラミングで行う授業の要素も取り入れた授業を設計してはどうかと考えています。
また、教員研修用教材の各章の末尾には、「全体を通じた学習活動の流れ」の項目があります。これを第1章から第4章まで並べてみると、全てが「問題の発見」から「問題解決」となっており、「情報Ⅰ」はすべて問題解決の流れで行う、ということになっていることがわかります。
※クリックすると拡大します。
実際の授業で行う「問題の発見・解決」とは
では、問題の発見・解決とは何でしょうか。これを授業で扱った事例をご紹介します。
1つは、「情報のデザイン」で、扱いにくいUI(ユーザインターフェース)を与えたとき、生徒たちがどのような問題解決をして、使いやすいUIのアプリに書き換えたのか、という事例です。
もう1つは、生徒たちの身近な「ガチャ」を題材としたものです。まずガチャを引くべきかどうか考えさせた上で、生徒たちにシミュレータを作らせ、実際にやらせてみて、ガチャの当選確率をデータで可視化しました。
①不完全なUIのゲームを改善する
まず1つ目の情報デザインの事例です。
こちらは「キミのミライ発見」に詳しく掲載されていますので、参考になさってください(※1)。
※1「ゲームのUI改善を通して学ぶユーザビリティ~プログ ラミングで学ぶ情報デザイン」
これは「情報デザイン」の中で、UIを題材にした授業を行いました。
UIには、「論理」や「表現」や「機能」など、情報デザインの要素が盛り込まれています。ここでは、まず生徒に不完全なUIのゲームを渡して、実際にプレイさせてみることから始めます。
このゲームは、ドリトルというプログラミング言語で作ったもので、4つのボタンでカメを操作しながら、ランダムに現れるチューリップを5個、いかに短い時間で取れるかというものです。
※クリックすると拡大します。
ポイントは「不完全なUI」を与えるという点です。
ボタンの1・2・3・4を押すと、カメが上下左右のいずれかに動きます。生徒たちには、まず何回か遊ばせてクリアタイムを計測し、アンケートを集め、このゲームのUIの問題が何なのかを議論させます。
そうすると、「ボタンが横並びで押しにくい」、「ボタンに距離感があるから打ちづらい」とか「そもそもどのボタンをどう押したら動くかわからない」といった意見が出てきます。そして、「では、どのようなUIをデザインしたら操作しやすくなるか」ということについて考えさせます。
※クリックすると拡大します。
そして、具体的にUIを書き換えるプログラムを考えよう、ということで、プログラミングに入っていきます。
まずボタンの名前、位置、大きさ、色をプログラムで書き換えることで、使いやすいUIのデザインを考える、という授業を行いました。
例えばボタンの名前です。
初期設定のボタンの名前は「ボタン1」で、初めて操作する人には何を表すのかがわかりにくい。これを「左」に変えるのですが、「ひだり」にするのか「左」がいいのか、あるいは矢印で示す方がよいか、ということは生徒に考えさせます。
続いて、ボタンの配置です。
これが非常に重要です。コードの「作る」の後にスペースを打って、中央の位置からX軸・Y軸でどの位置に置いたらよいのかを考えX軸とY軸の座標の値を打ち込むと、ボタンがスライドのように表示されます。
このようにして操作しやすい位置にボタンをレイアウトします。
次がボタンの大きさです。
初期設定では横は150ピクセル、縦が50ピクセルになっていますが、どれくらいの大きさにしたら押しやすいボタンになるかを考えさせます。
大きい方が良いとか、正方形が押しやすいとかなど、生徒によって好みが違います。また、左利きでマウスを操作する人に使い易いボタンのレイアウトは、右利きの人とは違うという発見もありました。
最後に色の変更です。これについては、生徒たちはあまり変えませんでした。
※クリックすると拡大します。
これらの4つの要素が、プログラムを書き換えられることで変更できることを示した後に、生徒たちにはペーパープロトタイプを作らせました。
このプロトタイプが非常に重要です。私は紙に書かせましたが、どのようなレイアウトでどのような座標にして、色や大きさはどうしたら良いかを生徒たち自身にプロトタイプを作らせることが重要なのです。
※クリックすると拡大します。
ここで一番重要なのは、先生が考えている良いUIを生徒に教えないことで、生徒が自ら考えた良いUIを表現し学習させることです。
良いと思うUIを、生徒に自分で考え発見させることにこだわって授業設計をしています。
問題解決型の授業で面白いのは、生徒一人ひとりのアウトプットが違うことです。なのでプロダクトの評価も楽しくなります。皆が似たり寄ったりだと、評価もつまらないですよね。いろいろな成果物が出てくる中で、発見させ、発見の中で学ぶという活動が起こっているのがわかります。
※クリックすると拡大します。
次に、自分たちが作ったUIは良かったのかどうかを、席を移動させながら質問紙を使って自由記述の相互評価を行ったあと、改善につなぎます。
ここでも大切なのは、答えを示さないことです。生徒同士はお互いの評価を参考にして改善を行い、最終的にUIについてどのようなことを学んだか、ということを振り返りで書かせています。問題解決型の授業のポイントは「発見させる」という活動がポイントであると思います。
※クリックすると拡大します。
②ガチャのシミュレータ作り→できたガチャの結果から「データの活用」へ
次の事例は、プログラミングでガチャのシミュレータ(※2)です。
※2「順次・分岐・反復構造は10連ガチャのシミュレーションで教えよう」
「情報Ⅰ」の研修用教材の第3章「コンピュータとプログラミング」に、順次・分岐・反復がありますが、これをどのように授業の中に落とし込んで、問題解決の授業につなげるかを考えたとき、思い付いたのが、ガチャです。今の高校生は男子も女子もガチャをやっている生徒が多いので、そこを全面的に押し出した授業設計をしました。
※クリックすると拡大します。
当選確率1パーセントのガチャを100回引いたら、本当に欲しいキャラが当たるかどうかを、どのように求めたらよいかを考えさせました。生徒たちが「数式はどうか」とか考える中で、「シミュレータを作ってみてはどうか」という意見が出たため、Pythonを使って、順次・分岐構造の順番でシミュレータを作成しました。
まず1から100までの乱数を発生させた後、1が出たら当たりになる分岐構造を作って単発ガチャを作らせます。
次に反復構造で、しっかりインデントを付けて、10連ガチャを作らせて実行させます。これだけでも生徒たちはとても盛り上がりますが、この活動のポイントは、ガチャの実行結果を集めたという点です。
※クリックすると拡大します。
これは、日出学園の武善紀之先生の事例を参考にしました。
シミュレータを作って、自分一人で実行しておしまいではなく、生徒40人がそれぞれ100回ずつ実行した結果を集約し、データの活用につなげるのです。
※クリックすると拡大します。
さて、クラス全体で100回程度引かせたところ、約62パーセントの確率で必ずゲットできました。これは数式とも一致しました。
※クリックすると拡大します。
実はこの活動は、これから迎えるSociety 5.0で、IoTなどを使ってデータを集め、ビッグデータ化し、AIで解析することにもつながっていきます。
プログラミングの授業では、この他にマイクロビットを使って、様々な場所の温度や明るさなどのデータを計測し、それらを集約してデータ活用につなげる、という授業も行いました。
※3 「情報Ⅰの「コンピュータとプログラミング」をマイクロビットでやってみた」
これからの「情報Ⅰ」の授業は、授業を問題解決型にすることで、プログラミングをするだけでなく、プログラミングの実行結果をデータ活用につなげる内容にしていくことがポイントになると考えています。
プログラミングだけの授業では、皆でやっている感覚が得にくく、生徒はつまらないと思います。皆で問題解決をするからこそ、楽しくなると思います。
ですから、プログラムで計測させたり、実行結果をデータ活用につなげたりする授業を、皆さんとぜひ一緒に考えていけたらいたらと思います。
問題解決の授業の最大のポイントは「いかに生徒が興味を持つ題材を選ぶか」
最後に、このような問題解決型の授業を、私がどのようにして作ってきたかをご紹介します。
「情報I」の授業の私のこだわりは、「生徒が発見したアイデアで問題解決を行わせるような授業を目指す」という点です。
とは言え、全てを生徒たちが自ら発見できるかというと、まだ不十分な部分がありますが、それでも発見したアイデアを評価するのは、教員にとっても楽しいことです。
ただ、その際の課題として、生徒に高い学習意欲がないと、問題解決をするためのアイデアのひらめきは生まれません。ですから、学習意欲をいかに高めるかが授業のポイントであると思います。
そのためにポイントになるのは、「題材をいかに工夫するか」ということです。
これはアメリカの小学校のSTEAM教育の例です。先生が「学校の問題点を見つけて、解決する方法を考えなさい」と子ども達に持ち掛けると、子どもたちは「低学年の生徒が手を洗いたいのに、手洗い場に足台がないので手が届かない」という声をあげました。
そして、どうしたらよいかを考えさせて、3Dプリンタで足台を作るというところまで到達させました。
四天王寺大の間辺広樹先生もおっしゃっていましたが、「情報Ⅰ」では知識や技術の指導はできますが、アイデアの指導はできません。
しかし、生徒のアイデア出しをサポートすることこそが「情報Ⅰ」の問題解決の授業の醍醐味でもあります。
生徒のアイデアを引き出すために、それに必要な知識や技術をいかに身に付けさせるか。その上で、いかにして生徒たちの学習意欲を高めてアイデアを表出させるか。そこがポイントだと思います。
問題解決型の授業については、平成29年に国立教育政策研究所の研究で発表しました(※)。問題解決の授業において、学習意欲を高めるためには題材の設計が重要であると考えます。
https://www.nier.go.jp/kaihatsu/shiteikou/pdf/h29_hig_jyoho_chigasakinishihama-h.pdf
題材選択には3つのポイントがあります。
重要なのは、生徒たちにとって身近で、切実で、実行可能である、ということです。
過去の題材の評価を生徒たちにアンケートを取った結果がこちらです。
「身近さ」や「実行可能性」については、こちらのデータを見ても生徒たちが選びきれていたという結果が出ています。
「切実さ」については、結構大変です。しかし、例えばスマホのアップデートをどうするか、ということを題材にした際には、一気に「切実さ」が高まりました。SNSやスマホは、生徒が切実さを感じるポイントの一つのようです。
※クリックすると拡大します。
このように、情報Ⅰの問題解決の授業を一人で作るのはなかなか困難です。
そこで毎週金曜日には、情報科の先生など、情報教育に関心を持つ方が集まって、ZOOMで勉強会を行っています。いろいろな先生と交流しながら、一緒に解決していけたらと思っています。よろしければご参加ください。
※クリックすると拡大します。
第84回情報処理学会全国大会 イベント企画
「初等中等教員研究発表セッション」 講演より