MEC Topへ前ページへ次ページへ


金出武雄の「問題解決の7か条」

■第3回■
できる学生-2


【2006.12.04】

写真 3.デバッグの仕方
コンピュータプログラムをいつまでもデバッグしている学生がいる。
「思い通りの答えが出てこないんです」
「プログラムの途中のところでどんな答えが出てくれば君のプログラムは正しいんだね」
「よく分かりません」
「君自身が答えの分からない例題を使って、プログラムをデバッグするなんてあり得ないよ」
自分でも答えの分からないプログラムを書いてどうするんだ、と言ってもいつまでたっても分からない学生がいる。今はコンピュータが早いから何度でもプログラムを変えて走らせてみることができるからでもある。

私たちの時代は1回プログラムを変えるだけで、大変な時間が掛かった。だから、どうしたらこのプログラムが合っているか、間違っているかを1回で調べられるか頭を振り絞って考えた。
プログラムをデバックする過程は、自分のアイディアを創り出そうとしている過程でもある。答えの分かっている易しい問題はよいが、研究というのは自分のアイディアが本当に合っているかどうかを、自分は知らないわけだ。だからデバックの仕方を見ると、彼の能力が分かる。
答えの分かっている「例題」をつくってプログラムを走らせることができるかどうかである。
できる学生は「例題」を作る能力が優れている。

自分のアイディアができ、プログラムができても、その逆ができない学生もいる。自分ではよいアイディアができたと思っている。そこで
「このプログラムの本質は何だね」と聞くと
「分かりません」と答える。
ある程度プログラムができたら、今度は自分のプログラムを壊すプログラムを作れなければいけない。しかも、「易しい例題」を使って。

たとえば、文字認識のプログラムを作る。
このプログラムで認識できない例を作れといえばいくらでもできる。この文字は認識できるが、これは認識できないという「例題」を作り出せたら「このプログラムは何をしているのか」が分かる。これがこのプログラムの本質である。バウンダリー(境界)の内側と外側のすれすれのところの例題を作り出せることで、「自分のアイディア」の足りなかった部分、範囲の意味がはじめて分かることになる。

「私のシステムは<雑音>が多い場合にはできないんです」という学生がいる。
雑音というのは便利な言葉で、何でも雑音のせいにすれば分かったような気になる。雑音が多ければできないのは当たり前で、「その雑音は何なんだ」とこちらは聞いている。それが言えなければ分かったことにはならない。

4.いかに易しく説明できるか
私の流儀は「最も易しい数式を使って自分の理論を説明する」ことである。
日本の大学(日本だけではないが)の先生はどうやらそうではない。
アカデミック病とでもいうか、易しく言えば済むことを、あえて難しく言う。実に困った傾向である。

教育の仕方もこれに似ている。
日本の教科書とアメリカの教科書を比べるとよくわかる。
たとえば、N次元空間で成り立つ公式を理解させるとする。
アメリカでは、まず一次元の例題でしつこく考えさせる。そして、一次元で成り立つ定理を証明する。だんだん難しい例題を解いていくうちに、学生たちは「もっと一般的な定理があっても不思議でない」ということが分かってくる。
「この定理は、N次元でも成立する定理である。一般形は次のようになるのでこれを証明せよ」といった練習問題が出されたりする。

日本では反対に、N次元の場合がまず証明される。証明における式の変形手順はとにかく難しい。それを何とか追えても、定理の意味が何のことかさっぱりわからない。だいいち、N次元空間などイメージできる人はまずいない。
そして練習問題を見ると、習った定理を使って次の問題を解きなさいとある。
学生たちは「N=3で、a=5で、b=0だな」といって「合ってる、合ってる」となる。
公式の使い方を教えても、公式の成り立ちを教えないと学生は、数学や理科を暗記学科だと思ってしまう。公式の意味を理解することにはならない。公式を忘れてしまうとまったく使い物にならない。

できる学生をつくるためには、教科書も考えなくてはならない。

                         [→次ページへ]

MEC Topへ前ページへ次ページへ