← ゲームをひらく

トップ先生の方へ > 中学校

中学校での授業案(45 分 × 2 回)

ブロックで作った作戦を、そのまま Python として読みます。 そして「変えたら強くなったのか」を、勝率という数字で確かめます。 「動いた」で終わらず、「言える」ところまで進む授業です。

この授業でできるようになること: 自分の作戦を、ブロックと Python の 2 つで読んで対応づける。 1 か所だけ変えて、前と後の勝率を比べ、「言えること」を 1 文で言う。

ねらいと、位置づけ

  • 技術・家庭科(技術分野)の「情報の技術」でのプログラミングの学習、数学の「データの活用」と関連づけて使えます。教科との対応は、学校の年間計画に合わせて先生が判断してください。
  • ブロックから Python への橋渡しが中心です。「書き直し」ではなく「読みかえ」なので、小学校で作ったものも生かせます。
  • もう 1 つの柱は、条件をそろえて比べることです。変えるのは 1 か所だけ。そうしないと、何が効いたのか分かりません。

準備

  1. はじめの質問で、「🧩 ブロックでならある」を選びます(かんたんブロックの部品が、はじめから全部出ます)。ブロックの経験がない生徒は「🔰 はじめて」でもかまいません。
  2. 先生は事前に、2-4 はじめての撃ち合いを 1 回やっておきます(10 分ほど)。
  3. ガレージ右の「🔁 れんせん(勝率チェック)」で、同じ相手と何度も戦えることを確認しておきます。

第 1 回「ブロックを Python で読む」の 45 分

時間場面内容
0–5 分予想 課題を出します:「CPU『キャンパー』に、自分の作戦は 10 回中何回勝てるか」。 まだ何も作らず、予想をノートに書かせます。
5–17 分組む ぼうけんの 2-4 はじめての撃ち合い(キャンパーに勝つ。命中率 50% 以上)に、かんたんブロックで挑みます。 「敵が見える」「ねらいが合っている」「いま撃てる」を組み合わせるのがコツです。
17–30 分読みかえる ガレージで 「⬆ ステップアップ」を押し、ブロックと Python を並べて見られる 「🔀 スプリット」にします。 ブロック 1 枚が Python の何行に当たるかを、ワークシート(ノートに表を書く)で対応づけます。 ぼうけんの作戦は、行動を drivesteerfirebarrier の 4 つの変数で決め、最後にまとめて返す形の Python になります。 「もし」は if、「そうでなければ」は else であることを確かめます。
30–40 分れんせん 1 回目 ガレージ右の「🔁 れんせん」で、あいてを「CPU: キャンパー」、30 戦にして開始します。 出た勝率と、95% 信頼区間(本当の勝率がたぶんこの幅のどこかにある、という範囲)を記録します。予想と比べます。
40–45 分まとめ 「予想とくらべて、どうだった?」を隣と 1 分。次回は1 か所だけ変えて、もう一度測ることを予告します。

第 2 回「1 か所だけ変えて、確かめる」の 45 分

時間場面内容
0–5 分仮説 前回の勝率を見直し、「〜を変えれば、勝率が上がるはず」という仮説を 1 文で書きます。
5–18 分試合を読む テスト対戦を 1 回して、「📊 バトル分析」を開きます。 被弾ヒートマップや射撃距離の散布図を見て、画面の問い(例:「どの距離なら当たっている?」)に答えます。 勝った試合でも開けます。仮説の欄に、気づいたことを書きます。
18–35 分1 か所だけ変える 仮説にしたがって、Python の 1 か所だけを書き換えます(例:撃ち始める距離のしきい値)。 もう一度「🔁 れんせん」を、同じあいて・同じ戦数で走らせます。 変えたのが 2 か所以上だと、何が効いたのか分からなくなることを確認します。
35–43 分比べる 前の勝率と後の勝率を、信頼区間つきで並べます。 幅が大きく重なっているなら、「上がった」とは言い切れません。 そのときは戦数(10/30/50 戦)を増やして、もう一度測ります。
43–45 分ふりかえり 「〜を変えたら、勝率は〜から〜になった。だから、〜と言える/まだ言えない」を 1 文で書きます。

つまずきと、声かけ

生徒の様子よくある理由声かけの例
「赤いメッセージが出た」 Python の書きまちがい(字下げ・コロン・名前のつづり) 「メッセージに出ている行番号の行だけ、読んでみよう。書いてある『こうしてみよう』は、どっちが近い?」
「変えたのに、動きが変わらない」 あとの行で上書きされている。または、置いただけで使われていない 「変えた行より下に、同じ変数を決めている行はないかな? 💤 の印が出ていないかも見てみよう」
「勝率が毎回ちがう」 戦数が少ないと、たまたまの幅が大きい 「95% の幅を見てみよう。戦う回数をふやすと、幅はどうなる?」
「たくさん変えたので、どれが効いたか分からない」 変えた場所が複数ある 「元に戻して、1 か所だけ変えてみよう。そのほうが、あとで人に説明できるよ」

評価の観点(例)

観点見るところ
知識・技能ブロックと Python の対応(もし=if、そうでなければ=else、行動を変数で決める)を、表に書ける
思考・判断・表現変える場所を 1 か所に絞り、勝率の変化から「言えること・まだ言えないこと」を 1 文で書ける
主体的に学習に取り組む態度結果が予想と違ったとき、仮説を書き直して、もう一度測っている

もっと進みたい生徒には

ぼうけんの各章のあとにある「ステップアップ・チャレンジ」は、ブロックや Python で書くステージです。

  • 直線射撃の基礎追尾移動:変数と条件分岐を、自分で書く入口
  • 回避行動指向性バリアの活用:条件を組み合わせる
  • 偏差射撃:動く相手の先を読んで撃つ(計算が要ります)

高校「情報Ⅰ」へ進むと、アルゴリズムと計算量まで扱えます(高校の授業案)。

🛡️ ゲームをひらく