研究概要
資料1 IBM関数ラボ
資料2 不等式の表す領域での活用(N88BASIC "Ryoiki.bas" 8KB)
ソフトの流れ
プリント
資料3 数列とコンピュータ No.1,No.2(ワード文書 マイクロソフト数式3.0を使用 140KB)
資料4 BASICプログラム集 No.1〜No.3(ワード文書 マイクロソフト数式3.0を使用 64KB)
資料5 Mathematicaの世界へようこそ(ワード文書 マイクロソフト数式3.0を使用 52KB)
研究概要
1.はじめに
数学の魅力的な内容を、私たちは何とか生徒に伝えてゆきたいと願う。しかし、実際はなかなかすんなりといかない。数学は他の教科に比べると、生徒の心にすっとはいっていくまで時間がかかるような気がする。
ひとつには、周りに数学の環境が少ないせいもあろう。国語なら本を読む、理科なら自然現象といった素材があふれ、生徒がそれらを何らかの形で体験していく場面が学校以外にある。しかし、数学については、よほど関心をもつ生徒以外は、どっぷり数学を味わう環境がないのが実状である。
また、数学はその抽象性のために、自らの心の中にモデルを描けるか、そうでないかで理解に大きな差ができてくる。“子供の頃、歯車が大好きでいろいろ頭の中で歯車の動きや組み合わせを考えているうちに、連立方程式や様々な数学がすんなり歯車を通じて理解できるようになった。”「Logo」の開発者であるMITのパパート教授は、その著書「マインド・ストーム」の中で自らの体験を述べ、数学を学ぶためのモデルの重要性を語っている。
私自身も、子供の頃、新しい計算を覚えると楽しくて広告の裏にやたらと計算した。わり算などは、自分で勝手に大きな数をつくて様々な計算をした。また、1/3が0.333……でありそれに3を書けると0.999……になって、1にならないことに変なこだわりを覚えたり、数で遊んだ覚えはずいぶんとある。
中学の時は日本でのパーソナルコンピュータの黎明期であった。NECがTK−80という基盤丸出しのコンピュータを出してやたらに売れたり、海外からPETというコンピュータがやってきて、すごいすごいとさわいでいるうちに、日本でも負けじと基盤の上にベーシックが走る基盤を更に重ねてワン・ボードマイコンがベーシックマシンになってしまうという荒技で対抗して、どっどとシロウトプログラムが氾濫したかと思うと、アップルUという驚異的なマシンが発売されて大騒ぎをしていたと、とにかく沸きかえる時代であった。
あの頃、少しの操作で自在に結果が変わるプログラムにたいへん興味を抱いたものだ。そこでいろいろと組んでみたことが、後に数学を理解する際にどれだけ役に立ったことか。プログラミングが、数学を考える際のひとつのモデルになっていたように思う。
「いろいろやってみて初めてわかる」ことがコンピュータでは大変に多い。数学も、様々に試行する中でわかってくることが多いはずである。しかし、自らの授業を振り返ってみると、問題の解説をして、生徒に類題を解かせるということの繰り返しである。そこでは、「いろいろやってみて」という場面が希薄である。素材がこなれて生徒の体の中にはいっていない気がする。
学びとは、他を「まねる」ことから始まり、それを基にしていろいろ「ためす」ことで形をなし、さらに自分なりのものを「つくりだす」ことに繋がることであると思う。[問題の解説→類題を解く→練習]という流れでは、このうち「ためす」が少なく、「つくりだす」は皆無に等しい。数学教育の場面でも多様な試行錯誤の必要性、さらに創造できる場の必要性を感じるのである。
さて、現在ほとんどの学校でコンピュータが普及した。この柔軟な機械を用いることにより、いままで省みられることの少なかった生徒の試行錯誤を重視し、数学の概念を身につけていく授業が様々に行える環境になったといえる。ここでは、コンピュータの数学教育への活用例と留意点を概観しながら、よりよい利用の方向を探ってゆきたい。
2.提示型ソフト
グラフなどを描くソフトを利用する方法は、もっとも手軽なコンピュータの活用例である。
過去、BASICのプログラムで多くのソフトが開発された。これらソフトの特徴は、
・単純で手軽に使え、定数の値などもすぐ変更できること
・視覚に訴え、直観的に理解できること
・動的であり、数式に則った動きをみせること
であり、黒板とチョークだけでは表現できない点を伝えられる。
Sin.bas | Torus.bas | Klein.bas |
また、IBMの「関数ラボ」も提示型のソフトとして見るべきものがる。(資料1)このソフトは、動的なパラメータの変化をリアルタイムで見せられる点が特に優れている。
3.試行錯誤を許す教材の作成
上記のような教材提示は、一斉授業の枠内で発想される利用法であるが、生徒が個別学習によって理解を深めるためには、相互作用的、対話的な仕組みが必要になってくる。
「不等式の表す領域」におけるBASICによる教材を作成した。(資料2)
このソフトでは、次のように生徒とコンピュータとの相互作用を多くしている。
どの関数の一般形か判断する
自分で係数を入力する
グラフを書くよう指示する
領域を指定する
不等号を見て、正解かどうか確認する
違う場合には領域を指定し直す
良い場合には次の関数を指定する
生徒がコンピュータにはたらきかけ、コンピュータはその結果を表示し、さらに生徒はその結果に応じて次の行為を決定するという、一連のフィードバックにより学習がなされていくのである。
動的要素の表現、フィードバックの速さ、対話性による親近感などがメリットである。また、一般形や符号などポイントへの求心力もある。
プログラムでの表示において、式の表示はこなれていない(2乗の表示など)が、生徒はすぐ慣れる。
グラフが動的に表示されるメリットは大きい。
プリントの(4) での串団子のように、半径ルート2のため格子点で接することがグラフにより明確になるため、隙間のある図を書いた生徒はグラフで納得するケースがあった。
プログラムでは何回も領域を指定できるため、試行錯誤を許す環境ができる。このような、○×ではなく、納得ゆくまでできる環境は高校のカリキュラムに乏しい。イメージを醸成していくためには、そのような機会がもっとあってもよいのではないか。
また、時間に余裕のある生徒は、自分でグラフを工夫し、絵を書く時間にあてた。数学による自己表現である。数学で「遊べる」場面、生徒自ら式を使って試行できる環境をコンピュータで作ることができる。
4.プログラミング
プログラム言語を学ぶことは、数学の思考を育成する要素が多い。プログラムを組み立ててゆくことは、対象を論理的に表現することであり、プログラムのミスをみつけることは、対象の厳密な検証であり、さらにプログラムを拡張してゆくことは、対象を発展させることである。これらは、数学教育を通じて生徒に身につけさせたい思考過程であり、プログラミングの流れに合致している。
ここでは、プログラムを授業に取り入れた例を2つ示す。
(1)
数列の単元から(資料3)本校の1年生に、「数列」の単元でのコンピュータ利用を試みた。その流れは、
・最初の1時間に、コンピュータのBASICを学ぶため、電源の入れ方や立ち上げ方だけ示した後、「数学A」の教科書の「コンピュータ」の単元を各自のペースで例題、練習、問をコンピュータに入力しながら進めさせる。
ほぼ、この1時間で生徒はコンピュータに馴染む。「O(オウ)」と「0(ゼロ)」の違いで動かないとか、カナキーが押されてうまくいかないとか、初期には混乱があって教師は忙しいが、そのうちに落ち着く。進度の違いはあるにせよ、他を気にせずにどんどん進ませるのがポイントである。
・「数列の和」を教室で指導した後、コンピュータの部屋があいている時に生徒を連れてゆき、「数列とコンピュータ No.1」のプリントを使って授業。最初のプログラムの説明は一斉にするが、後の問題などは個別に巡視しながら指導。
コンピュータの設置してある教室はいつも空いているとは限らない。演習の内容であれば、空いている時間を狙って柔軟に対応できる。そのため、プリントを用意して、各自のペースで進められるようにするほうが効率がよい。
・「漸化式」を教室で指導した後、「数列とコンピュータ No.2」のプリントを使って授業。
数列の単元は、離散数学を基盤とするコンピュータと特に密接に関連しており、プログラムを操作することにより理解が深まる単元である。漸化式においても、様々な授業展開のできる箇所である。コンピュータを使ったのはたった3時間であり、グラフィックスも特にない地味な内容であるが、生徒は興味をもって取り組んだ。
(2)
曲線の単元から(資料4)
数学Cにおける「いろいろな曲線」の単元について、3年生の卒業間近の生徒たちにコンピュータを扱わせた。「BASICプログラム集」を用意し、プリントに沿って個別の進度で学習できるようにした。ほとんどの生徒がBASICにはあまりなじんでいない。しかし、高校3年間の数学の蓄積によって、プログラムの基礎的な部分はすぐに理解できる学力は身に付いている。かえって、この時期の生徒の方が自ら学んだことを振り返る意味でも、活用のし甲斐があるかもしれない。
プリントの例題を自分で入力し、結果を考え、問いを解き、さらに自らいろいろ試行してみることで学習が進んでゆく。
最初、プリントでは、FOR〜NEXTループの流れを学ぶ。はじめは文字から、後にグラフィックスの要素を入れ、多彩に展開されるよう例題を工夫する。徐々に複雑な例を出し、プリントNo.2の後半から、y=f(x)の形の関数、さらに、プリントNo.3より、媒介変数表示による関数、極座標表示による関数へと進んでゆく。ここで生徒は様々な関数を入力して出力を試すことができる。生徒は自らの試行錯誤の中で、関数の形や性質をとらえていくのである。
コンピュータが効率的に数学の授業で使われるためには、各自のペースで進められるプリントが不可欠である。
また、数学A,B,Cの教科書には、そのまま使える教材も豊富に載っている。それらはもっと活用されてもよいのではないか。
言語はBASICを用いたが、手軽に扱える言語であればなんでもよいであろう。だが、あながちBASICも捨てたものではない。ここでの目標は、数学の内容の理解を深めることが目標であって、プログラマー育成を目指しているわけではないからである。
BASICのプログラムは、その手軽さゆえに教材が作りやすい。また、その単純さゆえに、かえって本質を明らかにしやすい。過去の遺物として軽視されがちであるが、活用の仕方によっては、かなり発展性のある教材と捉えるべきではないか。
5.数式処理ソフトの導入
Mathematicaは、研究・教育用の数式処理ソフトであり、世界中で最も普及している。数学教育の実践例も数多くある。たいへんに発展性があり、試行錯誤をさせるには格好の教材である。
ここでは、「Mathematicaの世界へようこそ」というプリントで、自然な形で導入する例を示す。(資料5)
まず簡単な例から入り、その手法を用いた問をこなしながら、自然と応用できる流れを作るようなプリントを用意すると効率的に修得できる。プリントを作る際のポイントは、生徒の知に対する好奇心を信じることであろう。
6.おわりに
これまで見てきた例のように、コンピュータを用いることにより、試行錯誤を最大限に許し、自らの体験に基づいて数学を理解する環境ができうる。また、数学による自己表現も実現できる。コンピュータは、生徒の主体的な活動を支援する道具であり、数学教育においてもその観点での活用がもっとなされるべきではないか。
その際、従前の提示するだけといったコンピュータ利用法を越えて、生徒が試行錯誤を体験できる柔軟な構造を持ったソフトを選定し、それをいかに授業に組み入れていくかという点が重要になってくる。また、教師の役割も、どのように生徒の活動を支援するかという視点が全面に出てくることになろう。
試行錯誤を許すことは、一斉授業と異なり進度に幅ができる。しかし、一斉授業においても、生徒の理解という点では、見えないが幅がかなりあるはずだ。試行錯誤の方法をよく練れば、根元的な理解という点では、より効率的なものにできるはずであり、この方面の研究はもっとなされるべきだと思う。
方法はどうあれ、知のすばらしさ、学問のすばらしさ、自然科学のすばらしさ、数学のすばらしさが伝われば、数学教育はその使命を達したといえるであろうから。
Michiaki Ohtsuka
mailto: ohtsuka@wind.ne.jp NIFTY-Serve: QYH01176@niftyserve.or.jp URL: http://www.wind.ne.jp/ohtsuka/