【授業事例17】

進学校でのプログラミングによる「使える数学」の楽しさを実感させる授業

~プログラミングのtry and error を通して数学のおもしろさを知る

神奈川県立柏陽高等学校 間辺広樹先生


情報は数学と本来最も近い教科同士でありながら、数学は授業法が確立していることに加えて、入試対策としてとにかく問題を解くことに重点が置かれがちで、実際の授業の現場に取り入れることはなかなか困難です。2013年6月の日本情報科教育学会で、「『コンピュータの計算原理』を理解させる体験的な学習法と教材の考察」を発表したアンプラクドコンピューターサイエンスに通じる間辺先生。受験につながる、夏休みの集中講座が多い中で、「数学とコンピュータ」と題して、プログラミングを学ぶことで、数学が実際活用でき、数学の面白さに気付かせようとする間辺先生の授業を取材しました。

 

「数学とコンピュータ」 授業の概要

・夏休みの集中講座として実施、8月20日(月)~23日(木)の4日間、11時~12時50分の8校時授業。1・2年生対象、自由参加。今回は12名が参加。

 

<授業のスケジュール>

4日めの「図形の回転と3DCG」の授業について先生に解説していただきました。

図形の回転と3DCG

間辺先生インタビュー

間辺広樹先生
間辺広樹先生

コンピュータを使って「間違えたこと」から学ぶ機会を作る

 

この授業の目的は、コンピュータができるようになることではなく、数学がきちんと理解できていると、コンピュータを使いこなせて、そうすると数学がどんどんおもしろいことができるようになる、ということを生徒に知ってもらうことです。私はもともと数学の教員ですが、数学はどうしても問題を解いてなんぼ、というところがあり、おもしろさを味わう余裕がありません。生徒にとっては、数学は教科書の中だけのもので、特に進学校の生徒は間違えることを極端に恐れます。正解を出すのがすべてで、生徒同士で相談するのも嫌がります。教えたことは確実にできますが、間違いから学ぶということができません。本当は、後者がとても大事なのですが。

 

コンピュータを使って考えることの利点は、「間違える」ことがあたりまえであることと言えます。プログラミングは、正解がない上に、手順もtry and errorの繰り返しですから。さらに、手元のメインコンピュータで、生徒がやっていることをモニタリングすることができるので、一人ひとりがどのように考えているのか、どこでつまづいているかも把握でき、生徒に合わせた言葉かけができます。さらに、生徒をいろいろな角度からとらえることができます。いわゆる、観点別評価にもなじみやすいですね。

 

数学を「使う」体験が、知識を生きたものに

 

授業では、ある程度準備をしておいて、生徒が操作しながら解決していく部分を残すようにします。ただ、try and errorだけではダメで、解決をたぐり寄せる知識も必要です。今回の授業ではビジュアルが得意な言語であるProcessingを使ってお絵かきをしますが、図形を描いたり回転させたりする時には数学Cで学ぶ一次変換を使います。1年生はまだ習っていないのでちょっとたいへんかもしれませんが、それもプログラムを作ることを通して理解していけるのです。

 

この授業を数学の授業としてやるのであれば、まず数学ありきで、そこにコンピュータを取り入れていきますが、今回はグラフィックでこういう動きをさせたい、というために一次変換の知識を使います。そうすることで、数学を実際に「使う」ことが体験できるのです。そうやって自分から獲得していった知識の方が、生徒達の中に残っていくと思います。

 

今回の夏期講習は、この学校に着任して初めてで、生徒がどのくらい興味を持つかもわからなかったので数学を意識した取り組みを行いましたが、手探り状態でしたが、ある程度はできましたので、今後実施される土曜講座などでは、進学校ではありますが、むしろ情報よりの、生徒の希望にもあわせて、統計やhtml5を使ったホームページ制作など、もっとテーマの幅を広げていきたいと思います。時間も増やして、受験一色でない講習というものもやってみたいですね。

 

今回参加した生徒(1・2年生 12名)には、興味を持ったら12月に開催される情報オリンピックへの参加を呼び掛けてみるつもりです。チャレンジの目標を持たせるのも、学んだことをさらに深めていくのに有効だと思います。

 

 

参加した生徒に聞きました

■2年男子 S君

前からプログラミングに興味があって、学校でできるならやってみようと思いました。受講してみて、プログラミングが思っていたよりも数学と関係が深いことがわかりました。三角関数とか、行列とか、ああこんなところに使えるのか、と初めてわかりました。

数学って、解いていても、正直何をやっているかわからないです。答は合っていても、実際に図形がどういう形になるのかとか、この問題が何の役に立つかイメージできない。でも、プログラミングはちゃんと形になります。間違えたら変なことになるけど、直したらちゃんと動く。そういうところがおもしろいですね。将来は、コンピュータ関係に進みたいと思っています。個人的には、ゲームを作ってみたいです。

 

■2年男子 T君

僕もプログラミングがやってみたかったからです。家でやってみる前に、まず人に教えてもらってからやったらいいのではないかと思って参加しました。授業でやっていることが、こんなに使えることって珍しいと思いました。数学は好きですが、解いたら終わりです。プログラミングは、計算して解くのはコンピュータがやってくれるので、数学自体よりもおもしろいです。情報の授業で特におもしろかったのは、2年生でやったエクセルのシミュレーションです。円周率を求めるシミュレーションで、小数点以下4桁くらいまで出したのですが、エクセルでこんなことができるんだ! と感動しました。将来は機械系を志望しています。人型ロボット、アシモのもっと進化したようなのができたらいいですね。

 

■1年女子 Uさん

もともとコンピュータに興味がありました。「ドリトル」でプログラミングもやっています。情報オリンピックにも出場してみたいと思っています。今回の夏期講習を受けてみて、図形を動かす考え方は二次関数に似ていると思いました。自分では、数学Aより数学Ⅰの方が好きですが、数学の知識がとても役に立ちました。図形の動きの変化を追っていけるのがすごくおもしろかったです。数学は考えるための基礎知識で、情報は材料を使って何かできる、という感じですね。もともとは一緒でつながっていることが実感できました。理工学部へ進学希望です。将来もコンピュータに関わる仕事がしていきたいと思います。

 

■1年女子 Oさん

物心ついた頃からずっとゲームが好きなので、情報学部に行ってコンピュータを勉強してゲームを作りたいと思っています。この講座を受けたのも、図形を動かすということに興味があったからです。何かの本で、プレステのヴィータの反応に二次関数が使われていると読んだことがありましたが、この授業を受けて、ゲームの裏でプログラムが動いていることをいっそう意識できるようになりました。どちらかと言えば、数学Aや図形は苦手だし、どこで使われているかわからないけど、プログラミングはちゃんと形になります。そう思うと、苦手な図形も頑張れるかな、と思います。

 

上の動画は、実習で作成した、図形の移動や回転プログラムを用いたアニメーション