時・学習目標
(施設) |
学習内容
・学習活動 |
指導内容
・留意点 |
学習評価の方法(観点)
・機器,用具 |
第1時
(コンピュータ教室)
|
(1) |
Squeakによるプログラミングを体験する。 |
・ |
作品例を見て、Squeakが簡単なプログラミング環境を実現することを体験する。 |
(2) |
描画したオブジェクトを動かしながら、Squeakの基本操作を習得する。 |
・ |
プログラミング用の「タイル」を配置する。 |
・ |
軌跡を描画したり、消すための操作を行う。 |
・ |
簡単な図形を描画する。 |
・ |
データの保存と読み込み方法を学習する。 |
|
・ |
Squeakでは、プログラミングを「タイル」の配置で行い、ソースコードの入力が不要なことを理解させる。 |
・ |
プログラミングに拒否反応を起こさせないようにする。 |
(2)(3) |
基本的な操作方法を提示し、簡単な図形を描画させる。 |
・ |
単純な絵でオブジェクトを描かせ、凝らせない。 |
・ |
らせん多辺形など、興味を引く図形を用意する。 |
・ |
「プログラムの順次処理」の原則を理解させる。 |
・ |
距離と角度に負の値が使えることを伝える。 |
・ |
回転させる角度は外角であることを理解させる。 |
・ |
適宜、巡回指導を行う。 |
|
観察(関)
・ |
プログラムの作品例 |
・ |
オブジェクトの形に切り抜いて裏にマグネットシートをはった図 |
・ |
ホワイトボード |
|
第2時
(コンピュータ教室) |
・ |
少し複雑な図形を描画する。 |
・ |
ステップ数を限定し、描画に工夫が必要な図形の描画方法を考える。 |
・ |
変数を利用すると、汎用性が高くなることを学ぶ。 |
|
・ |
角度は時計回りが正。 |
・ |
進む距離が負なら後ろへ進むことを理解させる。 |
|
提出データ(思)
ワークシート(技)
・ |
描画させる図形を用意 |
・ |
トレースさせるプログラムを用意 |
・ |
作図用方眼紙 |
|
第3時
条件分岐の導入として、先頭に1個のセンサーを付けた車が直線道路を往復するプログラム、長方形の内側を左側通行で周回するプログラムを考える。
(コンピュータ教室)
|
(1) |
先頭に1個のセンサーを付けた車のオブジェクトを描画する。 |
(2) |
車のオブジェクトが直線道路を往復するプログラムを考える。 |
・ |
センサーが地面の色を判断し、車の向きを変える条件を考える。 |
・ |
車の向きを変える方法を考える。 |
(3) |
車のオブジェクトが長方形の内側に沿って周回するプログラムを考える。 |
(4) |
直線道路やS字型といったコース形状の違いによる車の動作を考察する。 |
・ |
車の回転角を5度として動作させる。 |
・ |
回転角を-5度とした場合、車の動作はどう変化するか考える。 |
|
・ |
オブジェクトの描画は簡単に済ませる。 |
・ |
センサーはユニークで見やすい色を使わせる。 |
(2) |
センサーが地面の色を判断する方法は、道路内と道路外の2種類があることを知らせる。 |
(3) |
スピードを上げるために進む距離を増やし過ぎると起きる現象を考えさせる。 |
(4) |
車がライントレースするときの動き方の観察から、1個のセンサーでは、動作に限界があることを理解させる。 |
|
観察(関)
ワークシート(思)
・ |
センサー付の車の形に切り抜いて裏にマグネットシートをはったもの |
|
第4時
先頭の左右に2個のセンサーを付けた車が、効率よくライントレースするプログラムを考える。
条件分岐の入れ子構造を理解する。
(コンピュータ教室)
|
(1) |
センサーを左右に2個付けた車のオブジェクトを描く。 |
(2) |
条件分岐を「直列」で使う場合と「入れ子」で使う場合の2種類のプログラムを作る。 |
(3) |
プログラムの流れをフローチャートを用いて表現する。 |
(4) |
コース上に障害物を設定し、それに対処するための工夫をする。 |
|
(2) |
「直列」と「入れ子」の構造の違いを理解させる。 |
・ |
構造の違いによる車の動きの違いを比較させる。 |
・ |
特にコース外での振る舞いに注目させる。 |
(3) |
フローチャートによる記述は、深入りしないで紹介程度にとどめておく。 |
(4) |
水たまり上ではスピードを落とすなど、問題設定と解決策を独自で工夫するように促す。 |
|
ワークシート(思),(技) |
第5時
画像表示のコントロールと乱数の使い方を学ぶ。
(コンピュータ教室)
|
・ |
少しずつ異なる複数の画像を描き、「入れ物」に入れる。 |
・ |
「入れ物」の中から指定した画像を表示するプログラムを作る。 |
(3) |
「入れ物」の中からランダムに画像を表示するプログラムを作る。 |
・ |
乱数を導入し、表示される画像の変化を観察する。 |
|
(1) |
「入れ物」は、プログラミングでは配列に当たることを説明する。 |
・ |
基になる画像を複製して、少し手を加えればよいことを伝える。 |
・ |
「入れ物」のカーソル位置を指定し、顔の元画像に、「入れ物のカーソル位置の画像」を表示させる。 |
・ |
複数の画像が次々と表示されると、アニメーションのように見えることを体験させる。 |
(3) |
「入れ物のカーソル位置の数」を「乱数タイル」で置き換え、乱数を導入する。 |
・ |
乱数とは何かを説明する。 |
・ |
画像の表示順の変化に気付かせる。 |
・ |
適宜、巡回指導を行う。 |
|
提出データ(技) |
第6時
サイコロとおみくじを題材にして、事象が発生する確率を制御する方法を学ぶ。
(コンピュータ教室)
授業展開例4
「“Squeakで学ぶプログラミング」 |
・ |
1から6の目を描いたサイコロを「入れ物」に入れ、ランダムに表示させる。 |
・ |
「大吉」「吉」「凶」の三つの画像を描いて、2:3:1の割合で表示させる。 |
・ |
フローチャートによる判断手順の整理を行う。 |
(3) |
マウスイベントによるおみくじの操作方法を学習する。 |
・ |
マウスオーバー、マウスアップといったマウスカーソルの動きでおみくじを操作する。 |
|
・ |
指定された範囲の数値が一様な確率で出現することを説明する。 |
・ |
フローチャートを記述して、理解を深める。 |
・ |
任意に確率を変更させる。 |
(3) |
画像にマウスカーソルを重ねたり、クリックしたりしておみくじをコントロールする方法を紹介する。 |
|
提出データ(技) ワークシート(知) |
第7時
アニメーションと乱数を理解し、昆虫や動物の動きのシミュレーションを行う。
(コンピュータ教室)
|
(2) |
「昆虫や動物の動き」を表現するプログラムを作成する。 |
・ |
アニメーションとその実行スピードを工夫する。 |
・ |
オブジェクトが進む方向と距離の制御に乱数を導入して、自然な動きのシミュレーションを実行する。 |
|
(1) |
動きの分解図を考えるように、事前に指導しておく。 |
(2) |
複数の画像を順次入れ替えて表示するプログラムを作らせる。 |
・ |
第5時の「顔プログラム」を応用させる。 |
・ |
オブジェクトを実物らしく移動させるには、進む方向と距離を一定にせず、乱数を用いてぶれを生じさせるとよいことを伝える。 |
・ |
プログラムの実行間隔の調整について説明する。 |
・ |
作品制作中の画面を提示して、意欲を喚起する。 |
・ |
適宜、巡回指導を行う。 |
|
ワークシート(思)
提出作品(技) |
第8時
サイクロイド曲線を描く。
(コンピュータ教室)
|
(1) |
サイクロイド曲線を描くプログラムを作成する。 |
・ |
円の内部に点を設定し、円の回転と移動によって、点が軌跡を描くプログラムを作る。 |
・ |
点の位置によって軌跡が異なることを理解する。 |
・ |
点がサイクロイドを描く条件を考察する。 |
・ |
円が滑らずに転がるように、回転の角度と移動の値を調整する。 |
|
(1) |
サイクロイド曲線を描くプログラムを作らせる。 |
・ |
初めにサイクロイド曲線を紹介する。 |
・ |
円の中に軌跡を描く点を設定する。 |
・ |
最初は厳密に考えずに、描かれた軌跡の特徴をつかめばよいことにする。 |
・ |
点が円周上にあることがサイクロイドを描く条件であることに気付かせ、点の位置を修正させる。 |
・ |
円の転がりを正確にシミュレートするためには、どのような調整が必要か考えさせる。 |
・ |
プログラムではなく、文章による提案でもよいことにする。 |
・ |
適宜、巡回指導を行う。 |
|
観察(関)
ワークシート(知) |
第9時
単元のまとめ。
(コンピュータ教室)
|
|
(1) |
(3)の事前準備として、これまでに学んできたことを確認させる。 |
(2) |
学校に応じた環境を紹介しながら、どのようなことが可能かを説明する。 |
・ |
表計算ソフトのマクロやJavaScriptなどを紹介する。 |
・ |
プログラムではなく、文章による提案でもよいことにする。 |
・ |
適宜、巡回指導を行う。 |
|
観察(関)
ワークシート(知) |