« 通勤路の銀杏並木 | トップページ | 総合学科教育推進部:鶴見総合高校公開授業 »

2008年11月19日 (水)

情報B:Squeakで学ぶプログラミング(3)

Squeakでプログラミングの基礎を学ぶ授業の3時間目

本日のテーマはライントレース。車が道路から外れたことをセンサーが判断し、回転によって軌道修正を行なう。

実習で使う車オブジェクトネットワークからセンサー付きの車を描いたSqueakの実習用ファイルをコピーさせる。生徒に描かせてもよいのだが、判定に色を使うために、実習環境が揃っていたほうが授業進行がスムーズだ。

このファイルを開いた状態で、ホワイトボードでの説明に入る。

■突然、「先生、眠くないの?」という質問にビクッとする。
おお、配布したファイルのタイムスタンプが今朝の3:45だった。。。

切り抜いたセンサー付きの車の型

同じ色使いで印刷して切り抜いた3種類の車の絵。裏にはマグネットシートを貼り付けてある。

■まず、センサーが1つ(中央の赤)の場合

中央のセンサーが道路外に触れた状況道路から外れた場合、どちらかの方向に回転することで、センサーは道路上に戻る。道路から外れていない場合は、その方向に進めばよい、というアルゴリズムに気づかせる。
上の図のように、丸いコースならば問題なく周回する。

センサー1つの場合のスクリプト

赤いセンサー部分が、道路の外の色に触れたことを判定し、「回転」か「進む」を実行する。プリントには上の図のようにヒントだけ書いてある。各自、右回り、左回りのそれぞれで動作を確認させる。

プリントには、図の逆S字型のコースを完走できるか確認せよという指示を出してある。

逆S字型のコース

多くの生徒の予想に反した結果になる。
ここで、「シミュレーション」という単語を紹介しておく。

■センサーが2つ(左の緑、右の青)の場合

左右のセンサーを説明する図左のセンサーが動路外に触れたら右回転、右のセンサーが動路外に触れたら左回転に軌道修正をし、どちらも触れていない場合は進めばよい。ホワイトボードの紙を操って、このアルゴリズムに気づかせる

2つのセンサーを機能させる入れ子の型

上手く動いた生徒には、自由にコースを作成して動作確認をするように指示。途中、多少のトラブルが発生するが、TTの先生と共に解決。密度の濃い1時間だった。

来週は後期中間試験。今までの授業内容全てを試験範囲としている。

|

« 通勤路の銀杏並木 | トップページ | 総合学科教育推進部:鶴見総合高校公開授業 »

コメント

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: 情報B:Squeakで学ぶプログラミング(3):

« 通勤路の銀杏並木 | トップページ | 総合学科教育推進部:鶴見総合高校公開授業 »