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



 授業展開例 4
 このマークは、新学習指導要領で新たに追加・変更された内容に対応した部分を表しています。説明文にマウスカーソルを乗せると、対応する内容等が表示されます。

“Squeak”で学ぶプログラミング

誰もが「楽しめる」プログラミングの導入

 この授業のねらい

プログラミング用フリーソフト“Squeak”(スクイーク)を用いて、効率よくアルゴリズムを学びながらプログラミング学習を導入し、問題解決の方法を学習させる。

 授業の流れ

ステップ1 “Squeak”に慣れる 新学習指導要領対応
 “Squeak”は、プログラミングを「タイル」の配置という視覚による直感的な操作で行うことができ、ソースコードの入力が不要なことから、プログラミング学習の導入に適している。最初は、正多角形の描画などの単純なプログラムを作りながら、「プログラムの順次処理」の原則を理解させる。「情報の科学」
(2) 問題解決とコンピュータの活用
 内容の取扱い
「学校や生徒の実態に応じて,適切なアプリケーションソフトウェアやプログラム言語を選択すること。」に対応
スクイークの画面1
スクリーンショット(jpgファイル)

※新しいウィンドウが開きます
ここが ポイント
タイルスクリプティングによる視覚的なプログラミングを楽しめる“Squeak”を使い、コード入力のミスを原因とするプログラミング嫌いにさせない

ステップ2 徐々に複雑なプログラミングを学ぶ 新学習指導要領対応
スクイークの画面2
スクリーンショット(jpgファイル)

※新しいウィンドウが開きます
 条件分岐や配列を使い、いろいろなプログラムを作らせる。ライントレースする車の動きを、単センサーと複センサーの車(オブジェクト)で比較させたり、複数の画像を次々に表示させてアニメーションを作らせたりして、徐々に複雑なプログラムを作らせる。その中で、アルゴリズムやフローチャートの考え方も理解させることができる。「情報の科学」
(2) 問題解決とコンピュータの活用
 イ 問題の解決と処理手順の自動化
「問題の解法をアルゴリズムを用いて表現する方法を習得させ,コンピュータによる処理手順の自動実行の有用性を理解させる。」に対応
ワークシート
ワークシート(PDFファイル)

※新しいウィンドウが開きます
ここが ポイント
“Squeak”は、同一画面にタイルスクリプトを表示しながら動作を確認できるので、条件分岐の構造なども理解させやすい。

ステップ3 オリジナルのサイコロやおみくじのプログラミングに挑戦する 新学習指導要領対応
 乱数を発生させて、サイコロやおみくじをプログラミングする。乱数の値の範囲を工夫することで、サイコロの面の数やおみくじの確率を調整できることにも気付かせる。通常は見られない「7面サイコロ」も作れる!「情報の科学」
(2) 問題解決とコンピュータの活用
 ア 問題解決の基本的な考え方
「問題の発見,明確化,分析及び解決の方法を習得させ,問題解決の目的や状況に応じてこれらの方法を適切に選択することの重要性を考えさせる。」に対応
スクイークの画面3   スクイークの画面4
スクリーンショット(jpgファイル)※新しいウィンドウが開きます
授業の様子1  授業の様子2
 授業の様子(jpgファイル)※新しいウィンドウが開きます
ワークシート2
ワークシート(PDFファイル)

※新しいウィンドウが開きます


ステップ4  問題の解決方法を習得する
 アニメーションと乱数による表示の制御を組み合わせ、昆虫や動物(オブジェクト)の動きをシミュレーションさせる。プログラムの実行間隔を調整すると、本物のように自然な動きを再現できる。応用として、サイクロイド曲線の描画プログラムも作成できる。正確な描画をするための工夫などが、問題解決方法の習得につながる。
 さらに、他のプログラミング用ソフトウェアや環境を紹介し、問題解決のためのツールとしてのコンピュータの有用性を理解させる。
スクイークの画面5

スクイークの画面6
スクリーンショット(jpgファイル)
※新しいウィンドウが開きます
ここが ポイント
単純な図形の描画から、車のライントレース、サイコロ、おみくじ、アニメーションなど、身近な題材を用意して生徒の興味を高めよう。

 この授業の成果

生徒が自分で描いたオブジェクトを操作するので興味・関心を持続させることができ、条件分岐による制御や配列の扱い、乱数の利用といった少し複雑なプログラミングも楽しみながら学ばせることができた。

生徒の反応
  • 授業の様子3自分で描いた絵や字を思ったとおりに動かせるのはすごく楽しい。
  • サイコロやおみくじなど様々なものが乱数でできていて、条件分岐でコントロールされていることが分かった。ゲームもプログラムでできていることが分かった。
  • 日本語で組み立てるので難しく感じなかったが、プロの人はSqueakを利用せずにすべて打ち込んでいると思うとプログラミングは大変だと思う。
  • 面白かった。プログラムの基礎が理解できた。難しいかもしれないけれど、C言語とかJavaとか使ったプログラミングをしてみたい。
  • どれもプログラミングをしているときは、これから実行させたらどんな動きをするか楽しみでした。
  • 授業の様子4情報は得意ではないから難しかったけれど、楽しく授業を受けることができた。
  • 他の高校とは違う教材で学ぶことができ、とても楽しかった。
  • 誰でも簡単にプログラミングの練習ができてとてもいいと思います。
  • ついていけない時があったけど、できあがった作品がプログラムどおりに動いたときは達成感があって、とてもうれしかったです。
  • 乱数や数字がいっぱい出てきて、最初は数学みたいで嫌だなあと思いましたが、自分で作品を作成して絵が動いたときは楽しかったです。

 科目・単元

新学習指導要領
 情報の科学
現行学習指導要領
 情報B
(2) 問題解決ととコンピュータの活用
 問題解決の基本的な考え方
 問題の解決と処理手順の自動化
 モデル化とシミュレーション
(1) 問題解決ととコンピュータの活用
 問題解決における手順とコンピュータの活用
(3) 問題のモデル化とコンピュータを活用した解決
 モデル化とシミュレーション

対応表はこちら 

 指導計画(概略)

○学習の流れ(1コマ50分×9コマ)
1. 簡単な図形の描画(“Squeak”の導入)
2. 少し複雑な図形の描画とプログラムのトレース
3. 条件分岐を用いた、単センサーの車によるライントレースプログラム
4. 複センサーの車による、条件分岐の「入れ子」構造の理解
5. 「入れ物」(配列)に入れた複数の画像を使ったアニメーションプログラム
6. 乱数を使った、サイコロとおみくじのプログラム(本時)
7. 昆虫、動物の動きのシミュレーション
8. サイクロイド曲線を描画するための工夫
9. 問題を発見し解決するための方法の習得(単元のまとめ)
本時の計画 指導計画はこちら
  学習活動 指導内容 指導上の留意点

乱数の性質を理解する。
指定された範囲の数値が一様な確率で出現することを説明する。
等しい確率で出現することが、サイコロやおみくじに必要であることを理解させる。

サイコロプログラムを作成する。
サイコロを「入れ物」に入れ、ランダムに表示させる。
サイコロの目をランダムに表示させるには、乱数を用いるとよいことを理解させる。
「大吉」「吉」「凶」が、2:3:1の割合で表示されるおみくじプログラムを作成する。
「大吉」「吉」「凶」を、2:3:1の割合で表示させる。
乱数の値の範囲によって確率を制御する方法を考えさせる。
フローチャートによる判断手順の整理を行う。
フローチャートを記述して、理解を深めさせる。
フローチャートを記述して、理解を深める。
任意に確率を変更させる。


操作性に配慮したプログラムについて考える。
マウスイベントによる操作方法を紹介する。
画像にマウスカーソルを重ねたり、クリックしたりしておみくじをコントロールする方法を紹介する。

このページの先頭に戻る