数学の問題集を計算機に解かせるのは情報の授業としてありだと思うが・・・

大昔、未履修問題が発覚したとき「プリンタで印刷して入試問題を解かせているから情報だ」という強弁があったことがある。当然、認められず補習をするはめになっていたはずである。

最近、真面目な教材開発モードになったときにやろうと考えていることは、数Aの教科書の問題やセットの問題集を計算機で解かせる教材の開発である。

この問題って情報と数学のどちらで扱う?

問題

最近、愛読している某サイトで、某有名工業大学の場合の数の過去問を、全て書き出すことで解くという話を見た。問題の一部はこんな感じ。

3個のサイコロ(1から6の目を持つものとする)を振って、その積が10の倍数になるパターンの数を求めよ(順番は区別する。(1,1,2)と(1,2,1)は違うものとカウントするということ。)

(元の問題は確率)当然、落とせない問題である(大数でもそうされていたはず。)。

とりあえずRubyで1行ではあるが

教育的なコードを書く、という制約を外せばRubyで3秒で終了である。Rubyの1.9系で加わったメソッドは便利便利。

a = (1..6).to_a
a.repeated_permutation(3).select{|elem| (elem[0]*elem[1]*elem[2]) %10 ==0}.length

こうすると72通りが得られる。(JavaScriptPythonで本当はやるべきなんだろうな。。。一般人に教えるときは。)

まあ、selectの中身をinject使ってきれいにしてもよかったけど、3つぐらいならベタ書きでも良いでしょう。

どう授業に落とし込むかは色々ありますよね

私が自分の情報の授業でこの話を扱うなら、Excelとの比較で扱うというのが第一候補。Excelの手作業で216通りは作ろうと思えば作れる。

手作業で216通りを作れるといっても、頭を少しは使う必要がある。例えば、最初に1を36個作って2を36個作って、次に6個ずつを刻んでコピーしていって、などと要領よくやっていかないと泥沼にはまる。36通りの2個のサイコロなら行き当たりばったりでもどうにかなるが、216通りとなると少し要領が必要である。

1個目の1から6を36個ずつ作っておいて、あとは1から6のサイコロ2つのペアを6回コピーすれば終わり、という見通しなどを持てない人もけっこういそうので、遊びがいがある問題である。

教えてやらせるか、教えずにやらせて痛い目を見せるかは対象によってわけると思う。だいたい、私の場合は、コイン投げ4回の表裏のパターンを全部列挙せよ、でも怪しいのが多いのを相手にしていますからね・・・(2進数のときにこの話をすることが時々ある)

こんな感じでExcelでひとしきりやっておいて、その後で「大人はずるい」と言いながら上のコードをみせるかな。Rubyのコードをオンライン実行して見せる。

Rubyは身近に感じられる対象ではないので教育として良くない、と言われ、かつ時間があれば、VBAで列挙の部分をやらせてみるというのも考えたい。高々3重なので、VBAでforを3回書いて(a,b,c)のパターンを並べたセルをざーっと作らせてしまえば良い。これは、あっさりと書けそうである。

PowerShellで変態的にやるというのも考えたい(これはデフォルトでどのパソコンにも入っているので言い訳はできない)。

もう少し意識を高く持つなら

自分で問題文の条件を変えて、手と計算機で比較してみるということをさせるというのもありそうである。「手では解きにくいが計算機だと一瞬な問題を作れ」という指示を出して作らせるかな。それをやると、いかに数学の時間が手でとけるように出題者側が手加減しているかということがわかってくると思う。そして、これは手と計算機の比較なので立派な情報の授業である。

数学の問題は説明を半分省略できるので授業しやすい

この手の数学の問題の良いところは、問題の意味を実感できないとか理解できないということがないことである。数学の時間で問題がどういうものかは全て説明済みで、だいたい手で解くとこまでやっている。

したがって、手作業の部分をこっちが教える必要はない。コンピュータで解くところから始めることができる。これは大きい。2単位って忙しいんですよ・・・それでも無理やり情報用に人工的な問題を作って扱わないとならないのだろうか・・・

でも、理系っぽくない情報の人は「これは数学だ」とか言いだすんですよね。。きっと。あと、情報教育の意識高い系の人もそう言いそう。

ピュアな数学の授業でやるには合法だが

そんなことやってる暇ないですよね。数学の時間に計算機を活用してはならないとは書いてないので、数学の時間でやる分は完全合法なのは明らかなんですけどね。

結局、数学だろうが情報だろうが扱い人が扱いたい時に扱えば良いというのが私の個人的な考えではある。しかし、世間は許してくれないんだろうな・・・・

教科横断的なので総合でも合法?(余談)

まあそこまでやる人はいませんよね。。。普通。

教科横断という言葉を耳にするが・・・(余談)

最近、新指導要領がらみで「教科横断」をやたらに強調する人が多い。しかし、そもそもの教科の割り方が不適切なことが多く見られる。割ってはいけないものを割って横断というのも変な話である。

個人的には、政経と倫理で公民科とか、水と油を混ぜているような組み合わせにしか見えない。混ぜるなら、政経と地理と倫理の心理学っぽい部分で一括りにして(論理・データ・モデルの色合いが強い分野)と、残りを一括り(文献読解で考えていく)の2つに割るのが適切な割り方だといつも追っている。

情報も特にそんなとこがたくさんあるんですよね・・・