情報B:Squeakで学ぶプログラミング(3)
Squeakでプログラミングの基礎を学ぶ授業の3時間目
本日のテーマはライントレース。車が道路から外れたことをセンサーが判断し、回転によって軌道修正を行なう。
ネットワークからセンサー付きの車を描いたSqueakの実習用ファイルをコピーさせる。生徒に描かせてもよいのだが、判定に色を使うために、実習環境が揃っていたほうが授業進行がスムーズだ。
このファイルを開いた状態で、ホワイトボードでの説明に入る。
■突然、「先生、眠くないの?」という質問にビクッとする。
おお、配布したファイルのタイムスタンプが今朝の3:45だった。。。
同じ色使いで印刷して切り抜いた3種類の車の絵。裏にはマグネットシートを貼り付けてある。
■まず、センサーが1つ(中央の赤)の場合
道路から外れた場合、どちらかの方向に回転することで、センサーは道路上に戻る。道路から外れていない場合は、その方向に進めばよい、というアルゴリズムに気づかせる。
上の図のように、丸いコースならば問題なく周回する。
赤いセンサー部分が、道路の外の色に触れたことを判定し、「回転」か「進む」を実行する。プリントには上の図のようにヒントだけ書いてある。各自、右回り、左回りのそれぞれで動作を確認させる。
プリントには、図の逆S字型のコースを完走できるか確認せよという指示を出してある。
多くの生徒の予想に反した結果になる。
ここで、「シミュレーション」という単語を紹介しておく。
■センサーが2つ(左の緑、右の青)の場合
左のセンサーが動路外に触れたら右回転、右のセンサーが動路外に触れたら左回転に軌道修正をし、どちらも触れていない場合は進めばよい。ホワイトボードの紙を操って、このアルゴリズムに気づかせる
上手く動いた生徒には、自由にコースを作成して動作確認をするように指示。途中、多少のトラブルが発生するが、TTの先生と共に解決。密度の濃い1時間だった。
来週は後期中間試験。今までの授業内容全てを試験範囲としている。
| 固定リンク
この記事へのコメントは終了しました。
コメント