🏫 先生向けガイド

例②「迷路とアルゴリズム」

対象小学3年〜 時間45分×1 教科総合的な学習の時間/算数 段階① 遊ぶ(言語化が中心) 端末1人1台。キーボード不要・タブレット可(画面の十字ボタンで操作)

ねらい

プログラミングの用語は使いません。「手順を書く」「手順どおりにやると誰でも同じ結果になる」という体験が、 小学校プログラミング教育の手引でいうプログラミング的思考そのものです。キーボードを使わないので、低学年寄りの学級や、タイピングに慣れていない学級でも進められます。

準備

進行(45分)

時間活動先生の動き・ポイント
5分 導入「迷路を解くコツは?」「そのコツを、初めてやる1年生にも分かるように言葉にできる?」 いくつか発言を拾って板書。「行き止まりだったら戻る」「壁ぞいに行く」など、すでに手順の形になっていることを認める
15分 プレイ 迷路ゲームを数回クリアする。途中で「右手法」(壁に右手をつけたまま進む)を紹介して試す 紙の迷路で右手法を実演してから配る。「本当に必ずゴールできる? 試してみて」。クリアタイムは競わせない(速さは今日の目的ではない)
15分 言語化 自分の解き方を「①右を見る ②進めるなら進む ③進めないなら…」とステップで書く 書けない子には「まず最初に何を見る?」から一緒に1行目を作る。「もし」「〜まで」という言葉が出てきた子を取り上げて全体に紹介する
10分 共有 隣の人と手順を交換し、相手の手順どおりに迷路を解いてみる。「それってプログラムと同じだね」 「手順どおりにやったらゴールできた?」「途中で困ったのはどの行?」。困った行=手順が足りない箇所。手順を書いた本人ではなく、読んだ人が動くのがコンピュータと同じ、と締める

まとめの時間を別に取っていません。共有の最後の2〜3分で「今日分かったこと」を1行書かせてください。

発問の例

導入:「迷路が得意な人は、頭の中で何をしているんだろう?」
プレイ:「右手法で、本当に必ずゴールできた? できなかった人は、どこで変になった?」(このゲームの迷路は必ずつながっていて、ゴールまでの道が1本なので右手法は必ず着きます)
言語化:「『進めなかったら』の後、何をする? それを何回くり返す?」(→ ゴールに着くまで)
共有:「相手の手順に『もし』が入っていた? 入っていないと、どこで困った?」
締め:「このゲームの迷路は毎回ちがう。コンピュータはどうやって迷路を作っていると思う?」(→ 下の発展へ)

発展:コンピュータはどうやって迷路を作っている?

このゲームの迷路は、プレイのたびにプログラムが作っています。作り方は、子どもたちが書いた「解き方」とよく似ています。

  1. スタートのマスに立つ
  2. まだ行っていないとなりのマスがあれば、どれかをランダムに選んで壁をこわして進む
  3. 行けるマスがなければ、来た道を1つ戻る
  4. 全部のマスに行くまで、2と3をくり返す

「行けるなら進む、行けなければ戻る、全部行くまでくり返す」——解き方と作り方の骨組みが同じだと気づかせると、 「手順で考える」ことの強さが伝わります。実際のコードは迷路ゲームのソースコードにあり、 中学生・高校生向けには情報Ⅰの問題ページの問3でこの部分を扱っています。小学生には上の4行で十分です。

つまずきと手立て

よくある様子手立て
「コツはない、なんとなく」で止まる「行き止まりに来たとき、どうする?」と場面を限定して聞く。1つ書ければ次が出る
手順が「ゴールに向かって進む」の1行で終わる「ゴールが見えない場所ではどうする?」。相手の手順で動く時間に、その1行では動けないことを本人が体験する
右手法の「右」が分からなくなる(進む向きが変わると混乱)紙の迷路に指を置いて、体ごと向きを変えながらやらせる。画面上でも自分の向きを声に出す
速くクリアした子が飽きる「一番短い手順で書けるかな」「『もし』を使わずに書ける?」と手順の質に向かわせる
交換した手順が読めない読めないこと自体が学び。「読めなかった行はどれ?」を本人に返す

ふり返りと評価

ふり返り(1行):「手順を書いてみて分かったこと」。

観点こう言えたら分かっている
知識・技能自分の解き方を、番号つきの手順に3行以上書ける
思考・判断・表現手順の中に「もし〜なら」「〜まで」を入れている。相手の手順のどこが足りないか指摘できる
主体的に学習に取り組む態度相手の手順どおりに動いてみようとしている。書き直している

クリアタイムは評価に使いません。理由はガイド トップの「評価(見取り)の観点」を参照。

別の時間につなげるなら

配るURL

用途URL
① 遊ぶhttps://hinata-ya.tech/games/games/maze/
②③ Scratchで中を見る・作りかえるhttps://hinata-ya.tech/games/games/maze/scratch/
④ コードを読むhttps://hinata-ya.tech/games/games/maze/source/