« 視点:研究テーマ決めの相談 | トップページ | 視点:課題研究に繋がる講演 »

2009年11月19日 (木)

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

来週の後期中間試験で、Squeakを使った情報Bの授業も一区切り

落ちこぼれが皆無という状況。生徒から見るとゲーム性の高い内容を扱ってきているが、順次・反復・条件分岐の基本をしっかり押さえてきた。しかし、これ以上の時間を費やすと他のプログラミング環境を扱えなくなってしまう。具体的には、表計算を用いたシミュレーションとJavaScriptを用いたプログラミングを予定している。

最後に取り上げた内容は、厳密性は抜きにして、電車の車輪の端についているマークが描く軌跡、つまりサイクロイドを描いてみようということ。

まずは、円の縁に「ペンが下りた」点をドロップさせる。この操作により、円と親子関係を結ぶことになる。
そして、円を回転させながら右に進ませ、一定の位置で左端に戻るようにさせた。課題を解決するために、スクリプトを少しずつ進化させていく。

ドロップを受け入れる 右に回転移動して左に戻る

繰り返すが、回転と移動の値は、車輪をシミュレートするには不完全な設定。この問題を解決させるという課題を与えたいところだ。。。

ここでは、円が左端に移動するときの「直線の軌跡」が気になるため、この軌跡が出ないような解決策を提案させる。「戻る前にペンを上げる」ことに気がつくには、時間がかからない。当然、戻ったらペンを下ろす。

戻る際にペンを上げる

これで終わりとしてもよいが、少し応用してサブルーチンを体験させる。
「ペンを上げて戻る」というスクリプトを書き、これをメインプログラムに組み込んだ。生徒は、プログラムにプログラムを組み込むという事例を、全く素直に受け入れた。

サブルーチン化

スクリプトを表示しながら操作することができるという、Squeakの特徴を活かすことができた。「もっとSqueakをやりたい」「ゲームを作りたい」という声もあり、残念な気もするが今年の授業ではこれでおしまい。
昨年度のように、冬休みに自由作品を宿題にするか。。。

【21日追記】谷川先生よりコメントをいただいた機会に。。

Squeakで教える教材は物理や数学に繋がるものを意図的に選んできた。
実は、Squeakで教える最後の題材としてモンテカルロ法を用意していた。しかし、コンピュータを利活用して求積やπなどの数値を出すための最適手法かというとはなはだ疑問がある。確かにどの教科書にもお決まりのように載っている。しかし、条件を満たす格子点の個数を数えれば結果が得られ、わざわざゴマを乱数で発生させる必要はない。(不定形の図形の面積を求めるならば別だが、そこまで踏み込むとプログラミング嫌いを生んでしまう)

モンテカルロ法による求積

円周率の数値計算

Squeakはプログラミング教育の導入として使いたいと考えている。上記の理由もあるが、モンテカルロ法のために、複雑な思考をさせてここでプログラミング嫌いを作るのは得策ではない。

プログラミング、アルゴリズムを深く学びたい生徒のためには、学校設定科目「コンピュータ技術」と専門教科の科目「アルゴリズム」を設置している。

|

« 視点:研究テーマ決めの相談 | トップページ | 視点:課題研究に繋がる講演 »

コメント

五十嵐先生
数学の指導内容をSqueakを利用して指導できればいいのにと思っていたので、とても参考になりました。私ももっと研修してよい報告ができればと思います。

投稿: y.tanikawa | 2009年11月20日 (金) 17時17分

谷川先生
コメントありがとうございます。私も先生の活動が刺激になっています。

エントリに追記しましたが、昨年度の授業よりも、数学・物理に繋がる教材を精選してきました。

Squeakはオブジェクトの動きとスクリプトが見えるという利点があります。今後も、この特徴の良い所を活用したいと考えています。

今後も情報交換お願いします。

投稿: VX | 2009年11月21日 (土) 22時07分

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/178689/32279817

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

« 視点:研究テーマ決めの相談 | トップページ | 視点:課題研究に繋がる講演 »