高等学校共通教科「情報」 新科目の内容と授業アイデア

計画表
 【新科目の指導計画・評価計画】

●テーマ 4 「“Squeak”プログラミング」(50分×9コマ) 指導計画

 「情報の科学」 (2)問題解決とコンピュータの活用

○学習目標
・ 問題の発見、明確化、分析及び解決の方法を習得する。
・ プログラムの組立てを理解し、アルゴリズムによる表現方法を習得する。
・ “Squeak”のプログラミングを通して、コンピュータによる処理の有用性を理解する。
・ モデル化とシミュレーションの考え方や方法を理解する。
テーマ4の評価計画はこちら
授業展開例4「“Squeak”で学ぶプログラミング」
※ 赤枠内は、新学習指導要領で新たに追加・変更された内容に対応した部分(マウスカーソルを乗せると、対応する内容等が表示されます。)
※ 学習評価は「関心・意欲・態度」(関)、「思考・判断」(思)、「技能・表現」(技)、「知識・理解」(知)の4観点
時・学習目標
(施設)
学習内容
・学習活動
指導内容
・留意点
学習評価の方法(観点)
・機器,用具
第1時

身近な図形を描画して、単元の学習に興味をもたせる。
Squeakでは、オブジェクトの動きを簡単な操作(タイルの貼り付けと数値設定)でコントロールできることを学ぶ。
「科学と情報」
(2) 問題解決とコンピュータの活用
 内容の取扱い
「学校や生徒の実態に応じて,適切なアプリケーションソフトウェアやプログラム言語を選択すること。」に対応

(コンピュータ教室)
(1) Squeakによるプログラミングを体験する。
・ 作品例を見て、Squeakが簡単なプログラミング環境を実現することを体験する。




(2) 描画したオブジェクトを動かしながら、Squeakの基本操作を習得する。
・ プログラミング用の「タイル」を配置する。
・ 軌跡を描画したり、消すための操作を行う。
・ 簡単な図形を描画する。
・ データの保存と読み込み方法を学習する。
(3) 基本図形を描画する
・ 正方形、正三角形などの正多角形を描画する。
(1) プログラミングへの動機付けを行う。
・ Squeakでは、プログラミングを「タイル」の配置で行い、ソースコードの入力が不要なことを理解させる。
・ プログラミングに拒否反応を起こさせないようにする。
(2)(3) 基本的な操作方法を提示し、簡単な図形を描画させる。
・ 単純な絵でオブジェクトを描かせ、凝らせない。
・ らせん多辺形など、興味を引く図形を用意する。
・ 「プログラムの順次処理」の原則を理解させる。
・ 距離と角度に負の値が使えることを伝える。
・ 回転させる角度は外角であることを理解させる。
・ 適宜、巡回指導を行う。
観察(関)

・ プログラムの作品例
・ オブジェクトの形に切り抜いて裏にマグネットシートをはった図
・ ホワイトボード
第2時

徐々に複雑な図形を描画しながら、プログラムの組立てを体験していく。また、プログラムをトレースすることで、プログラミングへの理解を深める。「情報の科学」
(2) 問題解決とコンピュータの活用
 イ 問題の解決と処理手順の自動化
「問題の解法をアルゴリズムを用いて表現する方法を習得させ,コンピュータによる処理手順の自動実行の有用性を理解させる。」に対応

(コンピュータ教室)
(1) 色々な図形を描画する。
・ 少し複雑な図形を描画する。
・ ステップ数を限定し、描画に工夫が必要な図形の描画方法を考える。
(2) 変数を導入して、図形を描画する。
・ 変数を利用すると、汎用性が高くなることを学ぶ。
(3) プログラムのトレース
・ ソースを見て、手作業で紙に図形を描く。
(1) Squeakの基本操作に慣れさせる。
・ 角度は時計回りが正。
・ 進む距離が負なら後ろへ進むことを理解させる。
(2) 変数の有効性を実感させる。
・ 変数は多角形の描画に慣れてから導入する。
(3) プログラムを見通す力を身に付けさせる。
・ 適宜、巡回指導を行う。
提出データ(思)
ワークシート(技)

・ 描画させる図形を用意
・ トレースさせるプログラムを用意
・ 作図用方眼紙
第3時

条件分岐の導入として、先頭に1個のセンサーを付けた車が直線道路を往復するプログラム、長方形の内側を左側通行で周回するプログラムを考える。
(コンピュータ教室)
(1) 先頭に1個のセンサーを付けた車のオブジェクトを描画する。



(2) 車のオブジェクトが直線道路を往復するプログラムを考える。
・ センサーが地面の色を判断し、車の向きを変える条件を考える。
・ 車の向きを変える方法を考える。
(3) 車のオブジェクトが長方形の内側に沿って周回するプログラムを考える。
・ 周回する方向と90度回転の方向を考える。

(4) 直線道路やS字型といったコース形状の違いによる車の動作を考察する。
・ 車の回転角を5度として動作させる。
・ 回転角を-5度とした場合、車の動作はどう変化するか考える。
(1) オブジェクト(車、道路)を描画させる。
・ オブジェクトの描画は簡単に済ませる。
・ センサーはユニークで見やすい色を使わせる。
(2) センサーが地面の色を判断する方法は、道路内と道路外の2種類があることを知らせる。





(3) スピードを上げるために進む距離を増やし過ぎると起きる現象を考えさせる。
・ 車型のシートを使い、実際に動かしてみせる。
(4) 車がライントレースするときの動き方の観察から、1個のセンサーでは、動作に限界があることを理解させる。
・ 適宜、巡回指導を行う。
観察(関)
ワークシート(思)

・ センサー付の車の形に切り抜いて裏にマグネットシートをはったもの
第4時

先頭の左右に2個のセンサーを付けた車が、効率よくライントレースするプログラムを考える。
条件分岐の入れ子構造を理解する。
(コンピュータ教室)

(1) センサーを左右に2個付けた車のオブジェクトを描く。
(2) 条件分岐を「直列」で使う場合と「入れ子」で使う場合の2種類のプログラムを作る。




(3) プログラムの流れをフローチャートを用いて表現する。

(4) コース上に障害物を設定し、それに対処するための工夫をする。
・ 独自の障害物と制御方法を考える。
(1) 左右のセンサーは異なる色にさせる。
(2) 「直列」と「入れ子」の構造の違いを理解させる。
・ 構造の違いによる車の動きの違いを比較させる。
・ 特にコース外での振る舞いに注目させる。
(3) フローチャートによる記述は、深入りしないで紹介程度にとどめておく。
(4) 水たまり上ではスピードを落とすなど、問題設定と解決策を独自で工夫するように促す。
・ 適宜、巡回指導を行う。
ワークシート(思),(技)
第5時

画像表示のコントロールと乱数の使い方を学ぶ。
(コンピュータ教室)
(1) “顔プログラム”を作成する。
・ 少しずつ異なる複数の画像を描き、「入れ物」に入れる。
・ 「入れ物」の中から指定した画像を表示するプログラムを作る。




(2) 複数の画像を順次表示する。
・ アニメーションの原理を理解する。


(3) 「入れ物」の中からランダムに画像を表示するプログラムを作る。
・ 乱数を導入し、表示される画像の変化を観察する。
(1) 「入れ物」は、プログラミングでは配列に当たることを説明する。
・ 基になる画像を複製して、少し手を加えればよいことを伝える。
・ 「入れ物」のカーソル位置を指定し、顔の元画像に、「入れ物のカーソル位置の画像」を表示させる。

(2) 画像表示の手順を伝達する。
・ 複数の画像が次々と表示されると、アニメーションのように見えることを体験させる。
(3) 「入れ物のカーソル位置の数」を「乱数タイル」で置き換え、乱数を導入する。
・ 乱数とは何かを説明する。
・ 画像の表示順の変化に気付かせる。
・ 適宜、巡回指導を行う。
提出データ(技)
第6時

サイコロとおみくじを題材にして、事象が発生する確率を制御する方法を学ぶ。
(コンピュータ教室)


授業展開例4
「“Squeakで学ぶプログラミング」
(1) サイコロプログラムを作成する。
・ 1から6の目を描いたサイコロを「入れ物」に入れ、ランダムに表示させる。
(2) おみくじプログラムを作成する。
・ 「大吉」「吉」「凶」の三つの画像を描いて、2:3:1の割合で表示させる。
・ フローチャートによる判断手順の整理を行う。


(3) マウスイベントによるおみくじの操作方法を学習する。
・ マウスオーバー、マウスアップといったマウスカーソルの動きでおみくじを操作する。
(1) 乱数の性質を再確認させる。
・ 指定された範囲の数値が一様な確率で出現することを説明する。
(2) 確率を制御する方法を考えさせる。
・
・
画像の枚数による制御
乱数の値の範囲による制御
「情報の科学」
(2) 問題解決とコンピュータの活用
 ア 問題解決の基本的な考え方
「問題の発見,明確化,分析及び解決の方法を習得させ,問題解決の目的や状況に応じてこれらの方法を適切に選択することの重要性を考えさせる。」に対応
・ フローチャートを記述して、理解を深める。
・ 任意に確率を変更させる。
(3) 画像にマウスカーソルを重ねたり、クリックしたりしておみくじをコントロールする方法を紹介する。
・ 適宜、巡回指導を行う。
提出データ(技)
ワークシート(知)
第7時

アニメーションと乱数を理解し、昆虫や動物の動きのシミュレーションを行う。
(コンピュータ教室)
(1) 「昆虫や動物の動き」を図解する。
・ 昆虫や動物の動きを分解して図に描き表す。

(2) 「昆虫や動物の動き」を表現するプログラムを作成する。
・ アニメーションとその実行スピードを工夫する。
・ オブジェクトが進む方向と距離の制御に乱数を導入して、自然な動きのシミュレーションを実行する。
(1) 動きの分解図を考えるように、事前に指導しておく。
・ 精密な図は必要ないことを伝える。
(2) 複数の画像を順次入れ替えて表示するプログラムを作らせる。
・ 第5時の「顔プログラム」を応用させる。
・ オブジェクトを実物らしく移動させるには、進む方向と距離を一定にせず、乱数を用いてぶれを生じさせるとよいことを伝える。
・ プログラムの実行間隔の調整について説明する。
・ 作品制作中の画面を提示して、意欲を喚起する。
・ 適宜、巡回指導を行う。
ワークシート(思)
提出作品(技)
第8時

サイクロイド曲線を描く。
(コンピュータ教室)
(1) サイクロイド曲線を描くプログラムを作成する。
・ 円の内部に点を設定し、円の回転と移動によって、点が軌跡を描くプログラムを作る。
・ 点の位置によって軌跡が異なることを理解する。
・ 点がサイクロイドを描く条件を考察する。
・ 円が滑らずに転がるように、回転の角度と移動の値を調整する。
(1) サイクロイド曲線を描くプログラムを作らせる。
・ 初めにサイクロイド曲線を紹介する。
・ 円の中に軌跡を描く点を設定する。
・ 最初は厳密に考えずに、描かれた軌跡の特徴をつかめばよいことにする。
・ 点が円周上にあることがサイクロイドを描く条件であることに気付かせ、点の位置を修正させる。
・ 円の転がりを正確にシミュレートするためには、どのような調整が必要か考えさせる。
・ プログラムではなく、文章による提案でもよいことにする。
・ 適宜、巡回指導を行う。
観察(関)
ワークシート(知)
第9時

単元のまとめ。
(コンピュータ教室)
(1) 第8時までの振り返りを行う。

(2) 他のプログラミング環境について学習する。





(3) 問題の発見と解法の提案について学習する。
・


・
問題を発見、明確化、分析して解決に向かう方法を考える。
ワークシート記入とグループ内での発表を行う。
「情報の科学」
(2) 問題解決とコンピュータの活用
 ア 問題解決の基本的な考え方
「問題の発見,明確化,分析及び解決の方法を習得させ,問題解決の目的や状況に応じてこれらの方法を適切に選択することの重要性を考えさせる。」に対応
(1) (3)の事前準備として、これまでに学んできたことを確認させる。
(2) 学校に応じた環境を紹介しながら、どのようなことが可能かを説明する。
・ 表計算ソフトのマクロやJavaScriptなどを紹介する。
(3) 事例を挙げて提案を促す。
・ プログラムではなく、文章による提案でもよいことにする。
・ 適宜、巡回指導を行う。
観察(関)
ワークシート(知)
このページの先頭へ戻る