2009年12月 5日 (土)

情報B:Squeakで中間試験(2)

昨日のエントリの続き。Squeakに関する試験問題を紹介する。

プログラムを見ながら、数値等がどのように変化するかを追う作業をトレースと呼ぶ。Squeakでオブジェクトを規則的に連続移動させて得られる軌跡を描かせる問題を出題した。

右半分のスクリプトを試験問題とし、左の軌跡を解答用紙に描かせる。

トレースの問題と解答

似ているが、次の問題は難易度が高い。

トレースの問題と解答

Squeakの実習だけだと楽しんで終われるが、少しでも思考力を鍛える問題に挑戦させて、アルゴリズムの理解を定着させたいと考えている。

■ところで、千葉県の谷川先生もSqueakを使った授業を試行されている。今年は7時間の授業を行なって、プログラミングの導入としての効果があることを検証している。
ぜひ情報交換をさせていただいて、何らかの機会に共同発表ができるよう期待している。

| | コメント (0) | トラックバック (1)

2009年12月 4日 (金)

情報B:Squeakで中間試験

先週実施した情報Bの試験答案を返却した。

授業にて条件分岐の流れ図を扱ったので、絡んだ問題を出題した

おみくじ画像と配列に入った表示用画像試験問題の半分はSqueakを使ったプログラミング導入から。以下は、授業で教材としたおみくじを題材とした条件分岐の確認のための出題。授業では「大吉:吉:凶」を2:3:1の確率で表示させた。
1から10までの整数値をとる乱数を使って、配列に当たる「入れ物」に入った4つのおみくじの画像を「おみくじ」オブジェクトの部分に表示する確率を制御する。下の2つのスクリプトを実行したとき、「大吉:中吉:吉:凶」の出現する比を答えるという問題。

まず、入れ子を1階層深めた条件分岐を確認する問題。

条件分岐で確率を制御する

次に、2分割してから再分割する条件分岐を体験する問題。

条件分岐で確率を制御する

授業で扱ったパターンは入れ子1つの場合だけだが、条件分岐と乱数の性質が分かっていれば、初めて見る形でも対処できる。

その他、昨年の後期中間試験の問題の変形や応用を出題した。

平均点は66点であり、過去の情報Bの試験の中で最高の水準。最低点でも40点ほどなので、みな落ちこぼれずに食いついてきたと感じている。

| | コメント (0) | トラックバック (0)

2009年11月19日 (木)

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

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

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

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

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

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

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

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

戻る際にペンを上げる

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

サブルーチン化

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

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

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

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

円周率の数値計算

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

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

| | コメント (2) | トラックバック (0)

2009年11月16日 (月)

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

情報Bの授業。県の総合教育センターから2名の授業視察を受けた。

今年は、県の新学習指導要領「情報」調査研究協力員として、新カリの教材開発に携わっている。現在「情報B」を担当し、Squeakを用いたプログラミング教育の導入を扱っているので、「科学の科学」に向けた教材開発として協力させていただいている。

久しぶりにSqueakを扱った先週の授業に継いで、本日は、サイコロとおみくじを作りながら、乱数の扱いと条件分岐について理解することが目標。Squeakを使うことで、初めて書くフローチャートが、入れ子の条件分岐であっても違和感なく受け入れられることが、客観的に確認された。

まずは、等しい確率で目が出るサイコロを作成。

サイコロを作成

視察の合間に授業の様子を写真に撮っていただいた。

授業の様子 授業の様子

後半の課題は、大吉・吉・凶が2:3:1で現われるおみくじを作成すること。

おみくじの完成

サイコロの応用になるが、「1から6の乱数を発生させ、2以下ならば大吉、そうでなければ、5以下なら吉、それ以外は凶」というアルゴリズム。この発想を、生徒から引き出すことが見せ所。その理屈を説明しながら、フローチャートを書いていく。

流れ図の板書

最後に、おみくじ画像をクリックすると、新しいおみくじが表示されるように設定。生徒は、Webやゲームで慣れた操作が簡単に実現できることに驚き、興味を持ってくれる。

Squeakはプログラミング教育の導入に適していると確信を深めた。

| | コメント (0) | トラックバック (0)

2009年11月12日 (木)

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

情報Bでは、久しぶりにSqueakを使ったプログラミング学習の導入を行なった

標記のナンバリング(5)は欠番になっているが、虫や動物の動きのアニメーションを作るという授業を、9月の最初に行なったので、これが相当する。

その後、7月の授業所見学の報告(プレゼン)の対応のため、情報Aと共に、プレゼンの準備・発表・ビデオを見ての振り返り、という授業を行なってきた。12回の授業を経て、この単元は終了した。

そして、本日、20分だが、久しぶりにSqueakを使ったプログラミング教育の導入の授業を行なった。まずは、操作の復習を兼ねて、「遊び場」に置いた画像を、自由にコントロールして表示する練習。

表示する画像をコントロールする

「顔」と3つの画像を入れた「遊び場」というオブジェクトを用意し、ビューアを開いてスクリプトを完成していく。生徒は、感覚的に、大人よりも早く分かっていく。
「顔」のビューアでは「画像」カテゴリ、「入れ物」のビューアでは「集合」カテゴリを使う。

顔の画像カテゴリ 入れ物の集合カテゴリ
最後に、次回への布石となる「乱数」を用いた「何がでるかな」というスクリプトを作成。

ランダム表示のスクリプトを追加

次回は、1から6の目の画像を描いて、サイコロを作成する。そして、「大吉」「吉」「凶」を2:3:1で表示するおみくじを作る予定。やっと形になる実習となるので、楽しみにしている。

次回の予告のおみくじ

サイコロを作ることが布石になっている。1~6の数値を乱数で得て変数に入れる、2以下ならば「大吉」、そうでなければ5以下ならば「吉」、それ以外は「凶」とすることを、流れ図で表現して、スクリプトを完成する。動作が完成したら、マウスが乗ったらリセット(元画像表示)、マウスがアップしたらおみくじ実行とする。

次回は16日月曜の2時間目。この実践授業を総合教育センターの方々が視察に見える。生徒は興味を持って取り組んでいるので、客観的に効果を評価していただければありがたい。報告の続きは、16日に。


| | コメント (0) | トラックバック (0)

2009年8月25日 (火)

第2回全国大会:発表資料

昨日の第2回全国高等学校情報教育研究大会での発表資料

分科会もポスターセッションも、ほとんど参加することができなかったのが残念。今、皆さんの配布資料を読み込んでいます。本当にいろいろな取り組みがされていると、刺激を受け、勉強になります。あらためて、自分の知識が狭く、浅いことを認識しました。
神奈川県の情報部会でも、1月6日(予定)に、研究(実践)発表会を行なおうと計画しています。私自身、発表することで頭の中が整理されると感じていますので、多くの方の参加を期待しています。

さて、後日、大会のサイトで公開されますが、とりいそぎ、私の発表の資料をアップします。

■分科会「Squeakを使ったプログラミング教育の導入」で使ったスライドのPDF(1014.7K)

分科会での発表の様子は、谷川先生のブログWeekEnd 情報科ブログで。


■ポスターセッション「校内ポスター作成における情報デザインの指導」の配布資料とベジェ曲線の練習データのPDF(195.7K)

ポスターセッションでの説明の様子(写真)は、Y先生のブログ知らバスで。

| | コメント (0) | トラックバック (0)

2009年8月24日 (月)

第2回全国大会:当日

いよいよ第2回全国高等学校情報教育研究大会当日を迎えた

8時、宿泊先から茨城の先生の車で会場入り。
会場には、筑波学院の学生が作成したサイン塔と案内図が設置されていた。

サイン塔 学生が作った掲示物

午前中は、大会運営組織の総会と、開会行事、基調講演。

開会行事 会場の様子

交通至便な上、立派な施設をお借りできて、筑波学院大学には感謝しています。基調講演は、文部科学省初等中等教育局視学官の永井克昇先生から「新学習指導要領と情報科」について解説をいただいた。永井先生の話は、いつも分かりやすく、情報科教員に元気を与えてくれる。

昼休みには、分科会とポスターセッションの打合せに参加。

私は、午後1番の分科会発表、「Squeakを使ったプログラミング教育の導入」。
分科会会場 スクイークの実演

永井先生が「情報の科学」の「(2)問題解決とコンピュータの活用」について講演でおっしゃられた内容

自分の考えたとおりに動くかどうか、結果が得られるかどうか、実行して確認する。
不適切な動きがあれば、それを考察して改善する。
を、スライドと実演に盛り込んで、Squeakでは、コードミスの余計なストレスなく、プログラミング的思考を育むことができることを強調した。永井先生が前列でお聞きになっていたので、少し緊張しました。

発表は、Squeakを用いたカリキュラムの提案に、操作実演を絡めた。35分を目一杯使ってしまったが、会場外で「興味を持った」「使ってみたい」との感想をいただいた。

筑波学院大学の先生と学生代表参加させていただいた分科会は「第2回研究大会のサイン計画について」。茨城県の実行委員の先生3名と、筑波学院大学で学生をリードしてサイン計画を指導してくださった山本先生、そして学生代表が1名。サイン計画には、ロゴマークから、ポスター、リーフレット、会場内サイン、活動を紹介するブログまで、幅広いもの。
それぞれの開発には、定期的なプレゼンを含む、高校教員側との議論があったこと。実際にクライアントとやり取りしながらの制作活動によって、学生は良い体験ができたこと。高校教員側も、厳しい役割、フォローする役割の連携が功を奏したことなどが紹介された。
どの説明にも「充実感」が感じられました。

ポスターセッションでは、分科会の間の1部、分科会後の2部とも発表した。テーマは、「校内ポスター作成における情報デザインの指導」。掲示した生徒作品に興味を持っていただいた方々に「指導のセオリー」を説明させていただいた。私自身が美術は苦手なので、「アートでない、万人のための情報デザインセオリー」とでも言えばよいだろうか。 例えば、

改善事例

左の作例では、タイトルに使用するフォントの変更と文字詰め、文字色の改善。右の作例では、背景色によるタイトル、本文の可読性の改善を紹介した。

その他、オブジェクトを揃えるとか、余白の揃え、人物画像の配置場所、テキストは地色の変わり目からマージンを取るなど、基本的なセオリーを紹介させていただいた。
また、オリジナリティを高めるために、ベクトル描画の方法も紹介した。心のこもったイラストがひとつ入るだけで、訴求力がグッとアップする。

片付けと閉会行事を終え、全国大会が板についてきたことを実感した。

サーバーしかし、まだ終わらない。つくば駅前の懇親会場へ。
店を借り切っての立食パーティーで、よく70人も入れたという状態。とても盛り上がって、会長の挨拶にも声援が飛ぶ。
県内ではなかなか会えなくなったS氏とも談話した。情報の免許講習会では隣の席で大変お世話になった。思えば、平成12年に免許講習会に参加してから、人生が随分変わったものだ

| | コメント (0) | トラックバック (1)

2009年8月21日 (金)

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

Squeakでシミュレーションの導入になる教材を考えている

「情報B」の教科書では、釣り銭問題や、モンテカルロ法を表計算で解析することが多い。もっと簡単で、身近な題材が欲しいと考えてきた。虫や動物の動きを実現することでシミュレーションへの導入とならないだろうか。例として、かぶとむしとねずみの動きを作ってみた。

カブトムシの動き

ねずみの動き

絵が変わる「アニメーション」と、乱数を使った「少し不規則な動き」、そして、刻み値の設定で「動くスピード」を制御して、それらしく見えるようにしていく。

Squeakでは、「入れ物」という枠の中に、複数の画像を入れると、カーソルで囲まれた画像が1つ選ばれる。つまり、カーソルの番号(1~)で、外部から指定することができる。

この課題は、各自が異なった虫や動物を考えるので、作品が楽しみだ。
この課題の直前に、乱数を教えるために、おみくじを作る。

おみくじのプログラム

条件分岐の確認にもなる。スタートの画像を入れて4つの画像を描かせる。中吉・大凶などを入れたくなるように、指導の元で作るのはこの程度にする。

広い意味で、おみくじをコンピュータ上で作ることもシミュレーションと言えるか?

| | コメント (0) | トラックバック (0)

2009年8月20日 (木)

新学習指導要領「情報」第3回調査研究協力員会

9時から17時まで総合教育センターに出張。標記の会合に参加。

第2回からの宿題である、「情報の科学」の単元『(2)問題解決とコンピュータの利用(導入)』の指導案と評価計画(評価規準)を完成したのが朝方3時過ぎ。シミュレーションの部分の教材の目処が立ったのが昨日なので、単元の指導案として納得いくまで練り上げた。

単元に「導入」と入れたのは、SqueakeToyの環境をプログラミングの入門として扱い、その後、高級言語や表計算ソフトなど、各校の状況に応じて使ってもらうため。多くの書籍や論文でも、Squeakをプログラミングの入門として扱うことの評価が高く、私も全く同感である。

指導案では、「順次」「分岐」「反復」の基本手順、計測・制御、乱数の扱い、モデル化とシミュレーション、モンテカルロ法による求積・数値計算までを網羅し、プログラミングの導入部分としてだけでなく、学校によってはプログラミング学習をこれで完結しても足りるかと考えている。

次回は10月9日。本日の資料の修正の他、評価基準案と、授業プリント、ワークシートを準備する。

| | コメント (0) | トラックバック (0)

2009年8月19日 (水)

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

Squeakでモンテカルロ法を使った教材を考えている

前期では、図形描画とライントレースを題材にして、「順次」「条件分岐」を中心に指導した。後期は、「繰り返し」にも踏み込んで、モデル化とシミュレーションの内容を計画している。

放物線を描くということだけでも、一種のシミュレーション。その次に、モンテカルロ法による求積と数値計算(円周率)を行なう予定。今日は、放物線とx軸に挟まれる面積を、乱数で発生させた点の個数配分によって算出させるプログラムを考えた。

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

積分で求めた1/3とほぼ近い値が得られた。
1年次の授業では、1次関数で確からしい面積が得られることを確認し、2次関数で面積を求めることにチャレンジすれば良いか。

Squeak eToyでは、SmallTalkでの記述モードに入らないと、高度な関数は扱えないのが難点。

| | コメント (0) | トラックバック (0)