新千葉 ガーベージ・コレクション

FPGA マガジンやインターフェースで書けなかったこと等をちょぼちょぼ書いてます。@ryos36

「 6×8は正解でも8×6はバッテン?あるいは算数のガラパゴス性」を読んで

日本にも Teach For America みたいなのが必要な気がするよ。整数の掛け算は可換なので 6x8 も 8x6 も正解です。あたりまえ。群論も錆びついている数学科卒業でもそう思うぞ。

http://blogs.itmedia.co.jp/magic/2011/12/6886-2d5b.html

いろんな人が怒っているのね。数学的解釈としては
http://d.hatena.ne.jp/Sokalian/20101116/1289928627
これで決定という感じがする。

ここの問題は二つあって、数学的解釈と教師の盲目的な教え方(=学力の低さ)。数学的解釈はおいといて(上のblogでほぼ決定)こんな、”何も考えずに教えている教師で大丈夫なのか?”という問題ね。これは根が深いな。あと、教え方をどうするかという話でもあるな。

意味をどうとらえる?

まず、6x8 は正解でも8x6はバッテンは、”数学ができる子供の感覚をつぶす”可能性がある。数学ができる子供は違うところを見ているんだよね。私は今でも覚えているけど、杭の数の問題。湖の周りに杭を打ちました。10本打ちました。間隔はいくつあるでしょう?(う〜ん。問題が不鮮明だけどゆるして)これは答えは10。では A地点から B地点の直線上に杭を10本打ちました。間隔はいくつあるでしょう?(またもや不鮮明な問題)これは間隔は9本。

これを、「最初と最後がつながっている場合=>杭と間隔は同じ」「最初と最後がつながっていない場合=>杭の数は間隔より1つ多い」と”盲目的に”あるいは”規則として”覚えたらだめですから。先生の教え方はこうだったけど、私は小学生ながらに納得いかなかったなぁ。この問題いまだに「本当に理解しているのか」自分自身でもわからない。規則としては完全に分かっているから、問題がだされたら正しい答えは出せるけど。実感として、理解している感覚がない。車庫入れしているときに、ぶつからないことを知っているのか、ぶつからないと理解しているのかわからないのとちょっと似ている。(似てないかも)

数学が得意な人は二種類あって、「規則として覚える人」いっぱい覚えて暗記で数学といちゃう人ね。それ以外に、自己修正能力が高くて自分自身に情報をフィードバックして、「少ない情報だけで論理を構築できる人」この二つがある。点数だけではこの違いが判らない。ルールの記憶力だけでも点数は取れるから。というより、ルール覚えた方が早くていい点が出がち。テストの時に哲学的に考え始めたら、点数高くならないぞ(自分)。でも哲学的に考えて、「少ない情報だけで論理を構築できる人」は数学屋向きだと思う。

小さいころに数学の才能が出ることあるらしくて、その場合、6x8 は正解でも8×6はバッテンは、”数学ができる子供の感覚をつぶす”と思う。

「数学ができる=>意味を理解する」ところなので(たぶんここまではどんな人も異論がないはず)、次のプロットで理解し、前の必要のない情報は捨てていくのが数学のできる人の考え方だね。すくなくともプログラマはそうならなくてはならない。

1. チョコレートを8人の人に6個つずつ配ります。という問題を読む。
2. この問題は掛け算を使ってとけるということを”理解”する。感覚的に6人の人が並んでいて、8個ずつ配る(配給所のように)でもよいし、8人の人にトランプを配るように 6 回、チョコレートを配ってもいい。あるいは8人の人を横に並べてそこにチョコレートを並べる絵を思い描いてもよい。とにかく、全体を表すイメージを持つ=意味を理解することが重要。計算の順序はここでは関係ない。
3. 理解したら、実際の計算をする。このとき” 6 と 8 を掛ける”さえ覚えておけばよい。"6 に 8を"でもなく"8 を 6"にでもない。順序なんて言う”計算の本質ではない情報を持ち歩いている”と数学を解く感覚は育たない。これくらい簡単な問題なら迷うことはないけど、複雑な問題では情報が多すぎて人間には扱えなくなります。
4. 立式したらあとは機械的に計算をする。
5. 答えが出たら最初に立ち戻って、必要に応じて”単位”を付け足す。この場合はチョコレートの個数。

計算の計画を立てて(意味を理解して)、立式し、それを機械的にとく。最後に計画を見直す。プログラムの作り方と同じ。機械的に説くのと意味の理解をうまく組み合わせて、情報を削って計算の効率化する。意味の保存ができれば情報は削ってよい。削らない人にとっては数学はものすごく難しいものになってしまう。数学を簡単にするには(プログラム作りを簡単にするには)如何に、意味の保存をしながら情報を削るかにある。複雑な問題は、意味の理解による計画と機械的作業の間を行ったり来たりする必要がある。

「 6×8は正解でも8×6はバッテン」は数学の得意な人を混乱させる可能性がある。こんな教育をしていて、将来の「プログラマー界」(なんて世界があるかどうかは知らんが)が心配だ。

子供にどう教える?

数学的意味やプログラマー的考えはもう結果がでているからいいとして、、、全員が全員、数学者になるわけでもプログラマーになるわけでもないので、重要なのは子供にどう教えるかだよね。ここでは、意味を教えることが重要なので、いかに問題をイメージ化するかだよね。(逆に言うとイメージ化できない問題は解けない、あるいは、「本当に分かっているかどうか」怪しいぞ)

「チョコレートを8人の人に6個つずつ配ります」という問題を一番イメージしやすいのは、8人の人が並んで、6個ずつ配るのではないかな?イメージを持ってない子はそのイメージを誘導すればいいと思う。でもこれって人によって違うから!!!このイメージを引き出すのが教師の役目。もし別のイメージで正しいイメージをできている子がいれば、それは認めてあげないとその子は伸びません!!!いるんだよ。教師よりいい別のイメージで数学をとらえている子供は。

ついでに書くと、指導要領には順番はないみたいね。教師の教科書のあんちょこにそれがあるんだよね(きっと)。あんちょこやマニュアルがないと教えられない、あるいはマニュアルを盲目的に教える教師は困るな。日本にも Teach For America みたいなのが必要な気がするよ。