昔から、日本の算数・数学教育は成功しているが、米国は失敗しており、分厚い中間層が形成されなかったと言われてきた。だが、21世紀に入って四半世紀になろうという現在、日米で算数・数学の進度が逆転しつつある。
まず、日本の場合は「ゆとり教育」の結果、算数・数学のカリキュラムが易しくなってしまっている。反対に、米国の場合は、1990年代以降、全国の小中高のカリキュラムに緩やかな統一(「スタンダート」という)を導入するとともに、科学(Science)、技術(Technology)、工学(Engineering)、数学(Mathematics)の4分野を強化するSTEM教育の運動が進められた。
こう申し上げると、「ちょっと待って欲しい、日本での「ゆとり教育」は猛批判を受けて元に戻されたはずだ」という声が上がるであろう。だが、実際は違う。完全に戻っていないのだ。その点を含めて、現在の日本の算数・数学教育は「いつの間にかボロボロ」になっている。
日本の産業競争力が失われ、いつのまにか国内総生産(GDP)世界3位の座から転落して今は4位だとか、一人あたりのGDPでは経済協力開発機構(OECD)加盟国中の27位、国際通貨基金(IMF)調査では32位まで落ちてきたのにも、この算数・数学教育の低迷という問題が深く根を下ろしている。以降は具体的な6つの論点について問題提起したい。
プログラミングに不可欠な数学
1つ目は、とにかく「ゆとり教育」以前にカリキュラムを戻すことだ。まず、1960年代から70年代にかけて進められた数学教育の「現代化」が否定され、確率・統計、集合、などの基礎が小中段階では十分に学べなくなっている。これを復活させることが必要だ。
また、いわゆる代数に属する内容でも、以前は中学3年生で扱っていた2次関数の全体的な理解(原点通過以外のパターン)や不等式なども戻すべきである。図形の相似は昭和の時代のように2年生でいい。高校段階でも、数学3から微分方程式が追放され、従って物理では運動方程式を十分に扱うことができない状態が続いている。
2つ目は、プログラミングを理解するためには、数学が大切だということだ。近年はプログラミングというのは簡単な論理が理解できれば文系人間にも可能だという言い方がされている。小学生でも高齢者でも、簡単に学べるというようなことも言われている。こうした表現については、裾野を広げる意味ではダメとは言わない。だが、高度なプログラミングを行うには、何よりも集合論は絶対に必要であるし、行列などの理解もツールとして極めて有効だ。
さらに言えば、AIなどのデータ処理アルゴリズムを扱うには微積分の理解が求められる。何よりも、プログラミングとは論理の記述であり、その記述力とはそのまま数学の力だと言っていいだろう。