情報授業実践記録
理科目次へ

実習によって何を伝えるか
目的を明確にして,考察を加えることで実習の流れを作る

山口県立岩国高等学校
山下 裕司

 
1.はじめに

 教科「情報」は,新しい教科ゆえに担当する側としては実習を考える際,たいへん創造意欲を掻き立てられる。とはいえ,無からは実習案が生じないから,大学や専門学校で研修を受けたり,研究会に参加して他の実習例に触れたりと,多くの研修の機会から刺激を受けて多くの手作り実習を考案してきた。
 が,ややもすると,実習の目的が学習指導要領が予定していないところに向いてしまったり,さらにはマニアックな世界にまで生徒をいざなおうとしてしまう感もある。
 また,実習ごとに生徒に新鮮な驚きを与え,興味をかきたてることには成功するのだが,生徒に振り返りを求めると「おもしろかった」としか言葉が返ってこない。印象が残らない。悪く言えば実習をやりっぱなしの感が残ってしまう。
 また,実習の目的が絞りきれないままに行ってしまったときには,単発的で実習ごとのつながりがないのである。
 これらのことを打開するようにと試行錯誤を繰り返すうち,いくつかの実習でうまく展開できるようになってきた。その中からひとつの実践事例をここで紹介したい。

 
2.実践事例

(1)対象 使用時間 等 
対 象 全日制 普通科1年次生 40名
科 目 「情報A」
時間数 年度末 最後の授業1コマ(65分)で行った。
場 所 コンピュータ教室

(2)目的
情報社会に参画する態度について考えさせる。

(3)授業の流れ

[1] 生徒は教室に入ったら授業開始までタイピング練習を行う(2〜3分)
[2] 図1に示したプリント(A4)(以下 プリント)を配布する。
[3] 授業で配布するプリントの裏面には新聞や雑誌の切抜きから時事ネタを印刷しておき,授業の最初にその記事についての考察を行う。今回はテレビ番組録画代行業者が知的財産高等裁判所で勝訴した記事である。
(生徒が読んで考察する時間7分 解説3分)
[4] Excelファイル「セルを塗る.xls」(以下 「セルを塗る」)を配布する。


図1

[5] 「セルを塗る」を開かせるときに「マクロを有効にする」を選択させておく。(office2007では別操作)
[6] プリントにあるとおり,Sheet1 にセルを塗る課題を提示する。
 ア.セル(3,2)を塗れ。これはセルの場所のイメージを座標平面と重ね合わせられるように,表示をR1C1形式に変えさせてから指示を出した。(授業での生徒に対する説明(以下〈説〉)「原点が左上,x軸正方向が縦下方向,y軸正方向が横右方向になっている。ディスプレイに向かって,首を右に倒すと数学で扱う座標平面と同じ感覚になれるよ。」)
 イ.(1,1)から(10,10)のセルを塗れ。これに対しては多くの生徒が範囲を選択して一気に塗ることができる。(〈説〉ドラッグして選択してから塗ることで一回の手間で塗ることができるね。では同じように選択し直して,塗った色を消しておこう。)ウ.の伏線として一度消させておく。
 ウ.(1,1)から(10,10)のセルを枠状に塗れ。これは完成例(図2)を示して指示する。


図2

 この課題に対しては一つひとつのセルを塗ったり,縦横の辺ごとに4回塗ったりする生徒が多く見受けられる。(〈説〉何人かが気づいたようだね。イ.の塗り方をした後でひと回り小さい(2,2)から(9,9)のセルを消す方法が能率がいいようだよ。)
 エ.(1,1)から(10,10)のセルをひとつ置きに塗れ。これも完成例(図3)を示して指示する。


図3

 この課題に対しては一つひとつのセルを塗っていく生徒が多い。
(〈説〉これはコピー機能を繰り返し使うと作業能率がよいね。これも何人かが気づいたようだね。)
 いくつか塗ってはコピーして張り付け,さらにコピーを繰り返して課題を完成させてみせる。
(ここまでの Sheet1 での作業に15分)

[7] Sheet2 を選択する。Sheet2 にはセル(3,2)を黒く塗る機能を持ったプログラム(マクロ(VBA))を仕込んである。(〈説〉Sheet1 で行った作業はパソコンで行ってはいるが手作業といってもいいものだね。ではここからはコンピュータに命令をして課題を完成させよう。では AltキーとF11キーを同時に押してプログラムを見てみよう。プリントに従って簡単にプログラムの説明を加える。

Sub nuru()
  Cells(3, 2).Interior.ColorIndex = 1
End Sub

(〈説〉これはセル(3,2)を色番号1(黒)で塗れという命令だよ。このような命令文は覚える必要はないよ。必要になったら手に入れることができるんだ。)

ア.プログラムを実行させ,セル(3,2)が塗られることを確認する。(実行ボタンを押させる、またはF5を押すように指示する。)

イ.次のプログラムを提示してそのとおりに書き換えるように指示する。

Sub nuru()
  x = 3
  y = 2
  Cells(x, y).Interior.ColorIndex = 1
End Sub

(〈説〉これを実行してもさっきの場合と同じことなんだ。)

ウ.For Next 文の簡単な説明をしてから,次のプログラムを提示してそのとおりに書き換えるように指示する。

Sub nuru()
  For i = 1 To 5
    x = i
    y = 2
   Cells(x, y).Interior.ColorIndex = 1
  Next i
End Sub

(〈説〉これを実行して得られる結果はまだ手作業で十分だね。では一旦消して,このプログラムを書き換えてSheet1でやった作業を再現してみよう。
 まず(1,1)から(10,10)のセルを塗らせるにはどうするか考えてみよう。)

エ.少し時間をとってから次のプログラムを提示してそのとおりに書き換えるように指示する。

Sub nuru()
For j = 1 To 10
  For i = 1 To 10
   x = i
   y = j
  Cells(x, y).Interior.ColorIndex = 1
 Next i
Next j
End Sub

(〈説〉これもまだプログラムのありがたさは伝わらないね。手作業で十分だね。でも For Next 文を2重に構えることで面白い結果も得られそうだよ。ではセルの色を一旦消して,このプログラムを書き換えてひとつおきのセルを塗らせてみよう。)

オ.少し時間をとってから次のプログラムを提示して,そのとおりに書き換えてから実行するように指示する。

Sub nuru()
For j = 1 To 5
  For i = 1 To 5
   x = 2 * i
   y = 2 * j
  Cells(x, y).Interior.ColorIndex = 1
 Next i
Next j
End Sub

(〈説〉ここらで手作業よりもプログラムで描かせる意義が感じられるようになったよ。さてもう一息,先ほど Sheet1 のようにひとつおきに塗らせるにはどうするか。一旦消してみよう。)

カ.少し時間をとってから次のプログラムを提示してそのとおりに書き換えてから実行するように指示する。

Sub nuru()
For j = 1 To 5
  For i = 1 To 5
   x = 2 * i
   y = 2 * j
  Cells(x, y).Interior.ColorIndex = 1
   x = 2 * i - 1
   y = 2 * j - 1
  Cells(x, y).Interior.ColorIndex = 1
 Next i
Next j
End Sub

(〈説〉どうですか。数学で学んだことのある偶数と奇数の表現が利用されているね。最初に Sheet1 でやった作業は手作業の域を出ていないけれども,Sheet2 でやった作業はパソコンに命令を出して描かせているって感じがしてくるね。)
(ここまでの Sheet2 での作業に25分)

[8] Sheet3 を選択する。Sheet3(図4)にはセルの範囲と色を指定してひとつおきにセルを塗る機能を持ったプログラム(マクロ(VBA))を仕込んである。


図4

(〈説〉Sheet2 で行った作業はパソコンに命令をしたといっていいだろうね。でも少し手間がかかる。誰もが出来るわけではないかも知れない。ではここでは事前に準備された機能を使ってみよう。Sheet3 で縦範囲と横範囲と色を数で指定してから「描く」とある部分をクリックしてごらん。「消す」とある部分をクリックしてから何度か繰り返してごらん。)


図5

(〈説〉Sheet3で行った作業は簡単でとっても便利だね。ボタンひとつでパソコンに命令ができる感じがいいね。誰でも利用が出来る。でも誰かが事前に準備してくれる必要があるね。そういう点ではSheet2で行った作業ほど自分の考えどおりに自由自在というわけにはいかないようだね。)
(ここまでの Sheet3 での作業に5分)

[9] 振り返りを行う(10分)
 (〈説〉コンピュータで作業を行う立場にもいろいろあります。鉛筆と紙による従来の手作業を行うのと変わらない作業(Sheet1での作業)もあります。コンピュータに命令して単純作業の繰り返しを行わせる作業(Sheet2での作業)もあります。また,他人が作った仕組みを利用する作業(Sheet3での作業),他人に利用させるための仕組みを作る作業(Sheet3を作る作業)もあります。コンピュータで作業を行う場合を例にした本日の実習や1年間の情報の授業を通して,(★)内を参考にして,情報社会に参画する態度についてあなたの考えを述べなさい。)

★他人の作った便利な機能を利用したい
★他人に便利な機能を提供したい 
★コンピュータの仕組みを作る作業をしたい
★コンピュータをできるだけ遠ざけたい
★仕組みがわからない機能は使いたくない
★コンピュータ関連の仕事に就きたい
★仕組みの理解に努めたい 
等 )

 プリントの下段に振り返りとして各自に情報社会への参画する態度を記述させる。

 
3.おわりに

 単純なことであるのだが,「何を伝えるための実習なのかを明確にしなければならない」ことを強く感じている。担当者自らがそこをしっかり押さえることで,教科「情報」に体系的な流れが生じる。
 ここで紹介した事例でも,担当者側が目的意識を明確にしないままで授業を始め,実習後に生徒が振り返りをする時間を設けないままで授業を終えたとしたら,生徒の反応は単に「おもしろかった」で終わってしまう。ただプログラミングを中途半端に紹介しただけの授業となってしまう。
 振り返りの中で,実習と関連付けて,情報社会に参画する態度を考察することで生徒に具体的なイメージを持たせながら考察させることができるのである。情報社会に参画する態度としては,実習が一面的な内容ではあるが,具体的作業の中からイメージできる意義は大いにあるのである。
 このほかの実践事例でも同様で,単にアプリケーションソフトの機能を紹介するだけに終始してしまうような授業では,単発的で,何を伝えたかったのかが担当者にも生徒にも見えてこない。その反省から考案した,ひとつの授業の方法をここに紹介した。ポイントは単純な課題を複数の方法で段階を追って順次完成させていく。その中で情報を扱うことの意味を深く考察していく具体的なイメージを膨らましていくのである。
 他教科の授業では当たり前のようにやられている段階を踏んだ演習が,情報科目においては段階を踏まずに単発的であるがゆえに流れが出来上がらないということがある。教科情報の歴史の浅さゆえであろう。今後,実習例を重ねていくことで体系的流れが構築されていくであろう。

Eメール:yamashita.yuushi◯ysn21.jp