見出し画像

【情報I:プログラミング】教室脱出シミュレーション

プログラミング教材を学習し, 実生活に即した題材を扱い, 実践的なモデリング・シミュレーション能力を養うことは, 情報Iを指導する教育者としての使命です.

ところが, 情報Iは基本単位数が2であることから, 中々深い部分まで扱えないという実態もあります.

"実生活の事象では, モデル構築が難解でわからない"
"プログラミングが難しくてなかなかシミュレーションに手が出せない."

弊社に寄せられる情報の先生のお悩み

本noteでは, そんなお悩みに応えるべく, 全国どこの教室でも簡単に行える授業案として,シミュレーション分野の事例をご紹介します.

前作では, Google Colabを活用したモデリングを扱いましたので, こちらも合わせてチェックをしていただければと思います.

教室から生徒が脱出にかかるまでの時間をシミュレーションで算出しよう!

【目的】

プログラミングで習得した, Pythonの基本構文や文法を組み合わせて, 最も単純な, 空間や人の移動をモデル化し, 適宜変数や数式を改変して, シミュレーションしようとする態度を醸成する.

【注意】

ここで紹介するGoogle Colaboratoryのノートブックは, 一番シンプルなケースを想定して組んでいます. 
取り扱う教室のサイズや生徒の人数や, 最初の配置などは適宜リアリティのあるものを用いてください.

また, 実際の避難訓練では違った指示出しやマニュアルが存在しているかと思いますので, 本noteを授業で活用する際は, あくまで学習目的であることを注意事項としてご紹介ください.

【準備】

1. こちらのGoogle Colaboratoryをドライブへコピーし, 適宜課題として生徒に配りましょう!

ご自身のドライブにコピーを作成してお使いください.

2.シミュレーションテンプレート(保管用)をじっくり読み込む.
このノートブックでは, 変数や設定式を改変していただくことで, 実験的にシミュレーションしていただけますが, プログラミングがまだおぼつかない生徒さんがいつでも立ち返れるように, 「シミュレーションテンプレート保管用」を準備しています.

改変する場合は下部の練習用をご利用ください.

こちらは実行するのみにして触らないで保管しておきましょう.
下部のこちらを触って実験していきましょう!

プログラムには極力解説をつけていますが, プログラムを理解するだけでも, 教室から安全に脱出するモデルをどう表したか勉強になるはずです.

【シミュレーション】

実際には変数のx軸, y軸が教室と廊下のサイズ感を表しています.
生徒の人数や, 平均的な歩幅, 避難時の近接距離, 出口の位置なども適宜設定しましょう!

シミュレーションの画面

このような形で教室から生徒が出口を通って外に出るまでの時間を計測できるようになっています.

どれも簡単なライブラリとメソッドを使ってますので, まずはしっかり慣れていただきたいと思います!

拘束条件で、安全に移動することを基底

実際に災害時は, "前の人に当たらないように"なんて悠長なことは言ってられないと思いますが, 避難訓練でも「押さない, 走らない」が基本となっていますので, ここは発展させたいルールがある場合のみ考察してください.

その後に, 実際に教室内でルール通りに脱出してみて, それまでの時間を測ってみましょう.

想定の時間通りになっているか, それとも思いの外差分が大きかったか, モデリングを改変する要素をブレインストームしてみると, 子どもたちのやる気もアップするでしょう.

掘り下げるポイントを以下に書いておきます.

  1. 机や椅子などの障害物を設けるとどうなるか.

  2. パニック時は必ずしも最短距離を移動するとは限らないが, そういう単純化された動き以外の想定はどうするか.

  3. 前の生徒が移動し空いたスペースに, 動いていく移動の最適化を他にどう表現するか.

  4. 出口が2個になるとどうなるか.

時間が余った生徒にはこのあたりの問題を考えてもらうことで, 実り多き時間になると思います.

まとめ

最後になります.
このコードは私が作ったもので, 表現が甘かったり実験の形跡が残ったりしている部分があります.

"エラーが起こることもプログラミングの醍醐味"

プログラミングの要諦

と, 楽しむ気持ちで取り組んでもらえればと思います.
こんなふうにアレンジしました, などありましたらコメントをお寄せください.

田中善将への仕事依頼やSNSフォローはこちら

講演・執筆・コンサルティングのお仕事依頼はこちらまで.

Xはこちら.

教育関係者の皆様は, Facebookでも繋がってください.


いいなと思ったら応援しよう!

田中 善将
いつも応援してくださる皆様に田中GT善将は支えられ、幸せ者です。ありがとうございます!