情報処理学会第77回全国大会

情報科を「将来の学びの喜びを感じることができる教科」にするために

加藤和幸先生 (金城学院高等学校[愛知] 教諭/進路指導課長)


加藤和幸先生
加藤和幸先生

私は現在高校で情報科の教員をして、大学で非常勤講師も兼任しています。


最近の仕事として、ある教科書会社の『情報の科学』の協力委員の仕事をさせていただきました。この教科書で1年間授業をするとどういう『情報の科学』の授業ができるのかという年間計画にもとづき、板書計画(どういうものを生徒に示すのかというPowerPointのファイル)なのですが、それを作成し、私自身も1年間この教科書を使って『情報の科学』をどう教えるのかということを考えてまいりました。

私自身はもともと、工学部の出身でずっと数学の教員をしてきました。本校は中高一貫校なので、中学入試の算数の問題から大学入試問題までが守備範囲でした。1990年頃から学校にコンピュータ教室を作るので「何かやれ」ということで、高校数学の選択教科として「コンピュータ」を学校設定科目で週2時間やりました。当時はFM TOWNSを用いて、主にBASICを用いて授業を行いました。2000年夏、「情報」という教科がまだよくわからない時代に教育委員会の免許講習を受講し、情報の免許をとったいわば第1世代です。そして2003年度から授業が始まり、2006年度からは大学でも教えております。

数学科と情報科の違いとは

私は数学科の教員でもあるので、数学科と情報科では何が違うのかということをお話ししたいと思います。今年度、私は高校3年生の数学理系クラスの数IIIを担当し、同時に『情報の科学』を高校2年生に担当しました。

 

情報の授業内容で「10進数を2進数にする」というのがありますが、実は「数学A」でn進法というのは学習済みなのですね。そうすると、2進数どころか5進数、8進数でもn進法で解けてしまうので、理系の子にとっては、まったくやさしい内容ということになります。究極は「モデル化とシミュレーション」です。確定的モデルということで、「銀行に1万円入れて、年利率20%(今どきこんな利率なんてないだろうと思いますが(笑))の複利計算をシミュレーションする」のですが、高校2年の生徒なら、指数関数あるいは等比数列であっさり解けてしまう。

もっと言えば、この程度の複利計算は中学入試の算数の問題で、「5年後どうなりますか」程度なら小6の子でもできてしまう。したがってこれをグラフにしても何も面白くないのです。「数学」と「情報」両方授業をやってみると、やっぱり数学にはかなわないのかなと思ってしまいました。先ほど「情報の科学」の内容のレベルが低すぎるというお話がありましたが、まさにその通りだと思います。


数学を教えていると、「学問の山の頂を垣間見せる瞬間」というのを感じることがあります。例えば、数IIIに「一次の近似式」というのがあります。xがaに近い時、f(x)はf(a)を一回微分したものを使ってにニアリーイコール(≒)であるというものです。数学というのは≒を嫌いますので生徒も「こんなものは入試に出ないだろう」というふうになります。でも、ちょっとこれを見てごらんということで、「テイラー展開」で2次、3次、4次…n次まで微分するとこれがイコール(=)になるよということを見せるのです。ここで生徒はハッとします。近似であることが近似でなくなるということですね。さらにマクロリーン展開です。私は大学時代、数学が専門ではないのですが、やはり数学を教えているとこういうものをどこかで見せてやりたいなと思います。


そしてオイラーの公式です。自然対数の虚数乗が三角関数を用いて全く違う形で表せる。この証明は高校生にはちょっと難しいのですが、これを見せると生徒は驚きます。「三角関数」と「虚数」と「自然対数」は教科書の別々の章に出てきます。そうやって今まで別々に学習してきた内容が、最後に1つになって最終ステージに収束する。そういう美しい瞬間を見せられる。それが「数学」にはあるのです。今の数IIIの教科書を見ていただくとわかりますが、教科書に載っていることは中途半端でもうちょっとやりたいなというところで終わってしまいます。それを授業者がうまくやることにより、その先を見せられるというのが「数学」にはあるのです。

「モデル化とシミュレーション」こそ情報科の真髄

ところが「情報」では残念ながらその場面がないのです。これはひとえに我々高校情報科教員の勉強不足ということもあると思います。「情報科学」という学問への追求不足なのです。ならば、数学ではできないことで勝負しようと思いました。「情報でしかできないこと」すなわち「問題解決の方法」や「ICTを利用した科学的アプローチ」などそういうものを探してみようと考えました。

 

先ほどお話ししたn進法で言えば数学では扱わない「16進法」は情報ならではというものです。ただそれだけではなく「32進法」なども面白いとおもいます。数字と大文字のA~Fだけでは表せないので、小文字のa,b,cまで入れることになり、数学のn進法はまったく歯がたちません。もう「情報」の授業でしかない暗号解読の世界です。


それから「モデル化とシミュレーション」は「情報」では大変重要だと思います。扱う内容も通常の単調増加、減少、収束、振動ではなく「S字型成長」というのですが、途中まで増加、ある区域から減少していく。これは数学ではちょっと無理ですね。数IIIの最後の方になるとできるかもしれないのですが、これを単位時間あたりの差分値を用いてシミュレーションさせると、生徒は「数学でできないシミュレーション」ができるということで興味深いと思います。


また、現実に起きる社会問題として「カゼのウイルス感染」の場合のシミュレーションを考えました。するとこのようなグラフができます。どれだけの人が感染して、どれだけの人が治っていくか、これは数式では追いかけられません。インフルエンザのシーズンを思い浮かべながら「ああ、増えていくときはすごいのだな。7日間くらい経つと治っている人の方が多いのだな」などより現実的なシミュレーションの題材となります。これら数学を超えた題材に取り組むことこそ「モデル化とシミュレーション」を通じて『情報の科学』の真髄に近づく一つの方法かと思います。


「情報科でしか教えられないこと」のための教材がほしい

情報処理学会の皆さんや大学の先生方にお願いしたいのは、高校生で理解できる題材で、数式で処理できないものをぜひ紹介していただきたいということです。モデル化が容易で、プログラミングでシミュレーションが可能なもの、そして何より夢のあるものですね。たとえば「プログラミング」「アルゴリズム」を指導する時、最初に出てくるのが「順次処理」「選択処理」「繰り返し処理」ですが、それをくどくど説明すると生徒は嫌になってしまいます。配列をやりたいので、「ソート」や「バブルソート」を指導すると、「なんでこんなくだらない並び替えなんかするの、Excelならボタン1つで並べられるじゃない。なぜプログラムなど必要なの?」としらけてしまうわけです。そこでプログラミングをするにしても、面白くて夢があるものをやらせたいと思います。

今年一番好評だったのは「占いゲーム」のプログラミングです。3つ数字をパラパラと変えるスロットマシーンを作って、「3つそろったら何かが起きるよ」という設定にします。高校生にスロットマシーンを教えていいのかという疑問はありますが、何かそういう目的があると、生徒は非常に前向きになります。それを数字ではなく写真でパラパラさせる、そして3つ揃った時のご褒美でアイドルの写真が出るといった設定にする。このような何か夢があって、かつアルゴリズムとしてもレベルの高いことをやらせてみたいと思っています。こういったヒントでもあればぜひ皆で共有できるようにしていただきたいです。

自分で授業をやりながら考えると、「情報」での学習内容は、「数学」という教科の持つ長い歴史から比べるとまだまだ成熟していないと思います。その学問体系に対して、高校の情報科教員自身がもっともっと勉強していかなければならないということを痛感しています。


情報社会は大変なスピードで進化しています。これから起こる技術革新をうまく教材化し、生徒が「数学」のように将来の学びに夢を感じるような教科として、授業の中でひとつでも示してやることができたら良いのではないかと思いました。