【教材6】Javaによる中学校数学科の教材の開発
日立市立助川中学校 教諭 横山 宏栄
(1)  教材開発のねらい
 インターネットを利用した教材として従来あったものは,ハイパーリンクを活用して文書中に画像,動画や音声等を埋め込んだWebページである。これらのWebページからは,決められた情報を受け取ることしかできなかった。ここから一歩前進し,閲覧者が操作可能なプログラムを埋め込こんだWeb教材を作成することができれば,更に効果的な教材になる可能性があると考えた。
 そこで,Webページ上で実行することができて教材となるWebアプリケーションの研究・開発をすることにした。Web教材の開発に当たって,今回はJavaを使用することにした。
 JavaはSun Microsystems社が提唱した汎用プログラム言語であり,そのプログラムは,プラットフォームに依存することなく実行できるなどの特徴をもっている。Java appletはHTMLに組み込まれるJavaプログラムであり,ブラウザのJavaVMやPlug-inで起動されるJavaVMで実行することができる。このJava appletを利用することで,閲覧者が操作可能なプログラムを埋め込こんだ教材となるWebページを作成することができる。実際には作成した教材となるJava appletを組み込んだWebページを,あるWebサーバに保存しておく。インターネットを通じてそのWebページにアクセスすることにより,どのクライアントからでもこのJava appletによる教材を利用することが可能となる。特別なソフトウェアをインストールするなどの手間も必要ない。たったこれだけで,Webページ上で実行することができる教材,つまりWebアプリケーションが実現できる。
 更にクライアントからの要求に応じて,動的なコンテンツの作成やデータ処理を行う必要があれば,Webサーバ側で実行するJavaプログラムであるJava Servletを活用できる。このJava Servletは,Webサーバと連携して動作し,複数のリクエストに対してプロセスを生成せずにスレッドを生成するため,CGIに比べて高速に動作する特徴をもっている。Java Servletを利用することで,例えばJava appletで操作したクライアントの学習成果をデータベース化し, その一覧表をWebページとして作成したり,クライアントの要求に応じてデータベースから必要な情報を取り出し,Webページとして作成したりすることができることになる。
(2)  教材の内容
 学習内容
 中学校数学科で主に使用する教材について研究を進めた。
 現在,ミレニアム・プロジェクトの「教育の情報化」(以下単に「ミレニアム・プロジェクト」という)が進められている。『「ミレニアム・プロジェクト』により転機を迎えた『学校教育の情報化』―『総合的な学習』中心から『教科教育』中心へ― 平成12年7月文部省学習情報局(現文部科学省)」によれば,その目標や目的が次のように述べられている。

 このミレニアム・プロジェクトの「目標」は,「すべての学校」の「すべての教室」の「すべての教科」の「すべての授業」において,「すべての教員」がコンピュータやインターネットを活用できるような状況を実現することである。このような目標に向かって様々な施策を展開していく「目的」は,コンピュータやインターネットなどの「新しい道具」を使うことによって,これまでも行ってきた「教科書」を用いた「各教科の授業」を,すべての子どもたちにとって「分かるもの」にすることである。

 このため,児童生徒が授業を「分かる」状態を「効率的」に達成できるコンテンツ(デジタル化された教材等)が必要であり,その開発が急務となっている。
 一方,平成11年9月に出版された『中学校学習指導要領解説―数学編―』によれば,「コンピュータや情報通信ネットワーク等の活用」。が今回の改訂の要点として挙げられている更に,「数と式領域における計算等についての基礎的・基本的な内容の確実な定着を図るために,個々の生徒に応じて,補充,習熟といった学習にコンピュータを活用するよう配慮する」「特に各学年とも,電卓(グラフが表示できるものも含む),コンピュータ等を活用して取り扱うよう配慮するものとし,次の項目については疑似体験,視覚的な把握理解,性質の発見等に活用するよう特に配慮する。第1学年空間図形,比例,反比例の式とグラフ第2学年合同になる図形の発見,一次関数の式とグラフ,確率第3学年相似になる図形の発見,関数y=ax の式とグラフ」と指導上の留意点が述べられている。
 以上を踏まえ,今回は次に挙げる内容を選んで教材を開発した。
課題内容を動的に理解するapplet
多項式電卓applet,三平方の定理練習applet
Java Servleと連携して動作する関数のグラフ描画applet
 教材の構成
 それぞれの教材についてその構成を述べる。
(ア)  課題内容を動的に理解するapplet
 黒板等に2次元の静的な図を書いただけでは分かりにくい次のような課題内容について, その内容を動的に理解することができるディスプレイ用コンテンツを作成する。


縦6m,横8mの長方形の土地に,上の図のように幅が一定の道と花だんを作ります。花だんの面積を24uにするには,道の幅を何mにすればよいですか。
図6-1 2次方程式の応用(1)


長さ10cmの線分ABがあります点。。PはAを出発にして毎秒1cmの速さでBまで動きますこのとき,AP,PBを1辺とする2つの正方形の面積の和が58cuになるのは,点PがAを出発してから何秒後ですか。
図6-2 2次方程式の応用(2)


上の図のような∠C=90°の直角三角形ABCがあります。点Pが△ABCの辺上を,BからCを通ってAまで動きます。点PがBからxcm動いたときの,△ABPの面積をycuとして,△ABPの面積の変化のようすを調べてみましょう。
図6-3 1次関数の応用
(イ)  多項式電卓applet,三平方の定理練習applet
四則計算とべき乗,基本的な分数,根号が混じった式,文字,括弧が扱える電卓を作成する。更に,多項式電卓appletの1つの応用として,三平方の定理練習appletを作成する。


(ウ)  Java Servletと連携して動作する関数のグラフ描画applet
 関数のグラフの特徴を主体的に理解するグラフ描画appletに必要な機能として考えたのは,次のことである。  関数の式を入力すればグラフが描画できること。四則計算とべき乗が扱え,多項式も入力可能で括弧が使えること。グラフを描画した後変域を変えて描画し直すことができること。グラフを描画した後, 拡大表示と縮小表示ができること複数のグラフを色によって区別し,比較することができること。以上である。  更には,各自が追究して発見したグラフの特徴をネットワークを活用してデータベース化し,その一覧表や他の生徒の追究結果をHTMLファイルとして随時,意見交換ができるようにする。
(3)  開発の方法
 開発の方針
 どの教材についても,操作性をよくするため,マウスを操作の基本とすることにした。そのため,GUI部品を使用してJava appletの画面を構成した。
 開発環境
 Java開発環境としては,Javaの開発元であるSun  icrosystems社が無償で配布する,SDK(Software Development Kit)1.3.1を使用した。
 Java Servletを使用する際は,WebサーバとしてApache 1.3.20を使用し,それにサーブレットコンテナのTomcat 3.2.3を連携させて使用した。JDBCドライバは,タイプ1のもの(JDBC−ODBCのブリッジタイプ)を使用し,最終的にはAccess2000データベースファイルにアクセスできるようにした。
 開発の手順

 Java applet,Java Servletは次の手順で開発した。
 まず,エディタでプログラムを記述し,作成したプログラムを「.java」という拡張子を付けたソースファイルとして保存する。次にJava開発環境SDKの「javac.exe」を使い,ソースファイルをコンパイルし,拡張子「.class」のクラスファイルを作成する。
 更に,Java appletについては,ブラウザで実行するために,<applet>…</applet>タグを記述したWebページを作成する。
 なお,式の評価には,再帰的下向き構文解析のアルゴリズムを使用した。
(4)  教材の活用例
 それぞれの教材についてその活用例を述べる。
 課題内容を動的に理解するapplet
 まず,それぞれの課題(図6-1,2,3)の文章のみを提示し,一定時間内で文字情報のみから自力で課題内容の把握を目指す。その後,それぞれの課題内容の中で2次元の静的な図を書いただけでは分かりにくい部分について開発したappletを使用し,課題内容を視覚的に分かりやすく提示した。この活動によって,課題内容を動的に理解することが促進される。実際には, 普通教室にプロジェクタがまだ十分に整備されていないため,コンピュータをTVにつないでこのappletを提示した。
 多項式電卓applet,三平方の定理練習applet
 計算等についての基礎的・基本的な内容の確実な定着を図る場面で,個々の生徒に応じた補充,習熟をさせる学習のために,開発したappletを活用する。普通教室にコンピュータを必要台数持ち込み,自作の計算問題を作ったり互いに計算問題を出し合ったりする授業を行った。その中で,答えの確認にこのappletを活用した。
 Java Servlet,JDBCと連携して動作する関数のグラフ描画applet
 各学年の関数のグラフの特徴を主体的に理解する場面で,このappletを活用した。次に,第2学年1次関数における実践例を示す。
(ア)  目標
 コンピュータや情報通信ネットワークなどを活用して,1次関数y=ax+bのグラフは傾きがaで切片がbの直線になるという特徴をノート等にまとめることができる。
(イ)  準備・資料
 パソコン,Javaによる自作Web教材,プロジェクタ,教材提示装置,方眼白板
(ウ)  本時の活動






 クライアントの入力した式に応じて関数のグラフを描画するのがJava appletである。Java appletのテキストボックス内に氏名と学習成果のコメントを入力し,関数の登録ボタンを押すと,Java appletはJava Servletと通信し,クライアントの入力した式,色,氏名,学習成果のコメントのデータをJava Servletに送る。Java Servletはそれらのデータをデータベースに保存し,現在のデータの一覧表をHTML文書として作成し,クライアントに返す。クライアントは,その一覧表を見て閲覧したいデータ探すもし閲覧したいデータがあれば,「グラフを見る」をクリックする。すると,個々のデータを取得するJava Servletにより,登録されたデータを自由に閲覧できる。
 実際の授業では,データベースへの登録が活発に行われた。また,ネットワークを通じた意見交換を終えた後,「1次関数のグラフは原点を通らないと言えるか」など,口頭での意見交換も行い,関数のグラフの特徴について理解を深めることができた。しかし,氏名の部分に匿名で登録する生徒もおり,情報発信の責任が明確でないデータが混在するという課題を残した。今後は,情報モラルの指導を継続するとともに,クライアントからデータを登録する際,例えば,そのクライアントのコンピュータ名やIPアドレスもデータベースの中に登録されるようシステムを改善していく必要がある。
 一方,選択数学では,このグラフ描画Java appletを使い,y=ax4+bやy=ax3+bについて研究した生徒や,振り子の周期tと振り子の長さlの関係について研究した生徒が見られた。そのレポートを図6-10に示す。

(5)  今後の課題
 本研究では,ブラウザだけで実行することができるWeb教材を。開発することに視点を当ててきた。
 今回作成したJava appletやJava Servletについては,それぞれの教材の目的をより効果的に達成できるように今後は更に改良を加えていきたいと考えている。
 現在のところは,Java appletやJava Servletは,知る限りにおいて極めて有効なWebアプリケーションである。他の分野においても,Java appletやJava Servletを使った効果的な教材の開発は可能であると考える。更にはJava以外の言語を使ったWebアプリケーションの開発についても研究を深めていきたいと考えている。


【参考文献】
「Javaによる図形処理入門」
工学図書
「Java1.1プログラミング」
ソフトバンク
「C言語による最新アルゴリズム事典」
技術評論社
「C言語によるはじめてのアルゴリズム入門」
技術評論社
「Java500の技」
技術評論社
「Java2エンタープライズシステム構築作法」
オーム社
「Javaサーバサイドプログラミング」
技術評論社
「コア・サーブレット&JSP」
ソフトバンク
「サーブレット/JSP」
ソフトバンク

[目次へ]