情報教育/プログラミング/情報モラル

教科「情報」実践報告

Script型言語を用いた情報の科学的理解

鹿野 利春(石川県立金沢二水高等学校 教諭)

鹿野利春

【1】情報の科学的理解とは?

情報の科学的理解についての図「情報の科学的理解」とはいっても、一言で表現することは難しい。次のようなものだと考えていただければ理解しやすい。

情報に関わる学問の成果を取り入れることで、原理や仕組みを理解することができる。これにより、情報活用の実践力を深化・定着させることができる。また、何種類もの情報手段の共通部分を一般化し、それを活用する能力の一層の向上を図ることができる。モデル化やシミュレーションの手法を活用することにより、問題解決力の向上を図ることができる。

【2】原理や仕組みの理解

原理や仕組みを理解するには、教科書とノートだけでは不十分である。コンピュータの仕組みを理解するには、実際にコンピュータを動かしながら学ぶことが適しており、モデル化やシミュレーションは具体的な問題に実際に適用しなければ、本当に理解したことにはならない。

モデル化やシミュレーションについては、表計算ソフトで学ぶ方法が定着してきており、実習例も豊富に報告されている。

一方、コンピュータについてはどうだろうか。Windowのボタンをクリックすることだけ考えても、その動作や仕組みがブラックボックスになっていないだろうか。このような基本的な部分については、単にアプリケーションを動作させるのではなく、自分でプログラムを組んで動かしてみる必要がある。

【3】情報の科学的理解が進まない理由

生徒にコンピュータやソフトウェア、ハードウェアの原理や仕組みについて理解させることは大切である。しかし、多くの学校でこれが行われていない。原因は二つあるように思う。

一つは、どのように理解させるかの具体的な方法の決定打が無いからである。Windowsのボタンをクリックするとソフトウェアが動作する仕組みを知るには、これを作って動かしてみるのが一番早い。しかし、何でこれを行うかは教科書には書いていないし、指導書にも明示されていない。

二つには、多くの都道府県で情報の担当教諭が他教科と兼任であったり、臨時免許で担当したり、1年限りの講師であったりする点である。慣れない教科を担当した上に、十分な教材研究の時間も取れない現状が情報の科学的理解を阻害している。これらの現状は改善されなければならない。

【4】Script型言語の優位性

コンピュータの動作を理解したり、Windowsのボタンのはたらきを学習したりする言語には何がよいだろうか。世の中には強力な言語があふれているが、それが授業に適しているかといえば、残念ながらそうではない。古典的ではあるが、「Hello World!」を表示するプログラムを例に、いくつかの言語について見てみよう。

C言語 Wikipediaから引用

	#include <stdio.h>
	#include <stdlib.h>
	int main (int argc, char **argv)
	  {
	  puts ("Hello, world!") ;
	  return EXIT_SUCCESS ;
	  }

JAVA Wikipediaから引用

	public class Hello{
		public static void main(String[] args){
			System.out.println("Hello, world!");
		}
	}

HSP(Script型言語) 実際に入力して確認

	mes “Hello world!”

どの言語が情報の科学的理解に適しているかが、これを見るだけでもわかると思う。HSPとよばれるScript型言語は無料で使用でき、インストールの必要も無いので、コンピュータの設定変更がいらず、情報資産管理の煩わしさも無い。

【5】Script型言語の実習例

いくつかの実習例を掲載する。

(1)ボタンの実習例

		button "PUSH",*hata1
		button "BYE",*hata2
		stop
	*hata1
		mes "「PUSH」を押しましたね"
		stop
	*hata2
		mes "「BYE」を押しましたね"
		stop
実行画面

(2)色や座標の実習例

	color 0,0,255
	boxf 310,280,390,380

このscriptを実施すると座標(310,280)と座標(390,380)を結んだ線を対角線に持つ青い四角が表示される。colorは、直接RGBの段階値を入力するので、実習に最適である。

(3)数当てゲーム

	randomize
	kotae=rnd(51)
	mes "1から50までの数字が隠されています。"
	mes "四角の中に数字を入れて GO ボタンを押して下さい。"
	kai=1
	input kazu
	button "GO!",*go
	stop
	*go
	mes"Number of challenge="+kai
	if kazu=kotae {mes "当たり"}
	if kazu>kotae {mes "数字が大きい"}
	if kazu<kotae {mes "数字が小さい"}
	kai=kai+1
	stop

ここでは、数値入力、条件判断、分岐、乱数の発生など、基礎的なプログラミングを学ぶことができる。

【6】成果と今後の課題

フリーのScript型言語HSPを用いて、情報の科学的理解を深める授業ができた。事前に実習書を作成し、電子ファイルを配布しておくことで、scriptを入力する手間も省くことができた。

今後は、script言語に慣れていない先生も、実習書を用いれば、生徒と共に学びながら授業を進めることができると考えている。この学習を普及させることで、情報の科学的理解に対する学習が、一層行われるように努力したい。

参考Webページ
http://hsp.tv/make/enroll.html HSP入門編

※第4回全国高等学校情報教育研究大会大阪大会要項から転載
(2012年9月掲載)