コンピューターがあれば小学生でも微分が解ける! 進化する人間の思考ツール

英語・日本語・プログラミング言語のトライリンガルを目指すYES International Schoolの校長である竹内薫先生。サイエンスライターでもある先生は、コンピューターがあれば小学生に微分を教えても大丈夫と言います。その真意はどこにあるのでしょうか。

3年生〜中学生の授業で「同じ」ことをやる

YES International Schoolで一緒に(英語で)算数を教えていた先生が育休に入るため、12月1日まで、小学3年生から中学生までの授業を私が受けもつことになりました。といっても、他に日本語で算数を教えてくれる若い先生もいるので、私の受け持ちは、木曜午前の3つの授業だけなのですが。

驚くべきことに、私は、3年生主体の授業、4年生主体の授業、5年生〜中学生主体の授業で「同じ」ことをやることにしました。そんな馬鹿なと思われるかもしれませんが、たとえば今週の授業では、どのレベルの授業でも、次のような(初歩の初歩の)数学プログラムをやったのです。

f[x_]:=x^2-4 x+1

f[1]

f[2]

Plot[f[x],{}x,-1,3]

* 解説:使用言語はWolfram Language。具体的にはネットでWolfram Cloudにつないで命令を入力する。授業では、まず二次関数を定義する。それから1を代入し、2を代入し、そしてどんな数を代入しても答えがわかる「全体像」を見るためにグラフを描いた。

5年生から中学生の授業では、ホワイトボードに関数を書いて、あとは放置(笑)。そして、一通りの課題がこなせたら、

[ 画像が省略されました ]

x_の下線はなに?

[ 画像が省略されました ]

:=はどういう意味?

[ 画像が省略されました ]

グラフを描く範囲を変えてみて

[ 画像が省略されました ]

x2乗の前に3という係数をかけてみて

などと矢継ぎ早に質問や指示を出し、「改変」のヒントを与えます。

私は、そもそもプログラミング学習の真髄は「真似」と「改変」であり、そこから、いつのまにか「オリジナル」なコードが出現するのだと考えています。ですから、徹底的に真似と改変を推奨するのです。

コーディングの教科書に書かれた例を打ち込むのが第一段階で、それをいじくって、遊ぶのが第二段階で、最後に、ゼロから書いたコードが出現するんですね(英語では、from the scratchという)。

5年生から中学生の授業では、いろいろな「改変」が生まれます。でも、あえて、オリジナリティは求めません。それは強制して生まれるものではなく、楽しく遊んでいるうちに自然発生するものだから。

小学生に平気で微分を教えてしまう

さて、4年生の授業は、遊びが多くなります。(前にも触れたと思いますが、)私はスティーヴン・ウルフラムが書いた本を生徒たちに配っていて、関数グラフの真似が終わったら、

[ 画像が省略されました ]

あとは好きに遊んでいいよ

と言い放ちます。子どもたちは、歓声を上げて、ウルフラムの本(われわれは「オレンジブック」と勝手に呼んでいます)の中の自分の好きな事例の真似や改変をして遊び始めます。

その日の数学テーマを15分くらいでこなしたら、残りの30分は、思う存分、ウルフラム言語で遊べばいい。そのうち、いきなりPythonのプログラムを提示してみようかと思います。フランス語ができる子どもがスペイン語も(方言感覚で)理解するように、おそらく、うちの生徒たちは、なんの抵抗もなくPythonのコーディングにも移行できることでしょう。

来週は、生徒からの要望で、北大の西浦教授(=「8割おじさん」)が使っている微分方程式をプログラムで解くのがテーマ。でも、さすがに準備として微分はやらないとだめですね。

小学生に平気で微分を教えてしまうなんて、保護者から文句を言われないでしょうか。まあ、これも「外部脳」としてのプログラミングがあるからこそできる教育なわけですが、けっこう、教えている本人も楽しんでいたりします。紙と鉛筆で、受験用に複雑に作られた計算問題を延々とやるのなんて、正直、意味がないと思います。

時代とともに人間の思考ツールも進化する

この「外部脳」に関連して、ちょっと逸話をご紹介したいと思います。

私が大学で物理学を学んでいたときのこと。天文学概論という講義を受講しました。当時は物理学科と天文学科の学生が一緒の授業を取っていましたっけ。退官直前の老教授は天文学界の大御所で、優れた業績を残した方でした。とてもおもしろい授業でしたが、あるとき、学生たちが平面幾何学の「基礎」を知らないことに気づいた教授が、こうつぶやいたのです。

[ 画像が省略されました ]

きみたち……この幾何学の定理、習っていないの?

(学生たちがいっせいに首を横に振る)

[ 画像が省略されました ]

きみたち、これから大丈夫か?

ええと、わかりにくくてすみません。教授は、自分たちが中学か旧制高校で教わった、平面幾何学の基礎定理を学生が誰一人知らないことにショックを受けたようでした。こんなことも知らないで、どうやって物理学や天文学の研究をするのだろうと、心底、心配だったに違いありません。

実は、教授が若かったころはコンピューターで研究をすることは、ほとんどありませんでした。アメリカのアポロ計画でようやく、当時の最新鋭のコンピューターが宇宙船の軌道計算に使われはじめたのですから。

しかし、当時学生だった私たちは、幾何学の定理をたくさん教わる代わりに、コンピューター・プログラムを書いて数値シミュレーションをする授業をたくさん取っていたのです。

つまり、老教授は、紙と鉛筆で数学をやる時代が、コンピューターを武器に数学をやる時代へと変わる節目に、天文学概論を講義していたわけなのです。

私は決して、老教授にとって常識だった幾何学の定理を学ばなくていいと言っているわけではありません。ただ、時代とともに人間の思考ツールも進化するのであり、また、時間には限りがあるので、学生が何を学ぶべきかについても、時代ごとに優先順位をつけないといけないと言いたいのです。

当時、私と一緒に天文学概論を受けていた友人たちの多くは大学に残って立派な研究者になっていますが、その研究レベルが、老教授のころと比べて落ちたわけではありません。科学研究をするための思考ツールが変わっただけなのです。

「外部脳」を使えるようにするのがプログラミング教育の役目

ちなみに、この幾何学の定理は、知っていて損はないのですが、学校で紙と鉛筆を使って教わる代わりに、Wolfram言語で学んだ方がはるかに効率的で役に立ちます。いまの時代の子どもたちは、私が学生だったころよりもさらに進化した思考ツールを持っています。彼らの「外部脳」をどんどん使えるようにしてあげるのが、学校のプログラミング教育に課せられた役目だと思うのです。

ところで、Wolfram言語で、小学生が微分積分を使いこなせ、天文学に必要な幾何学の定理を使いこなしたとしても、中学受験のときは、すべて封印して、原始的な紙と鉛筆だけで試験されちゃうんだから、たまらないですよね。ハンコと同じで、いまどき何やってんだと思うけれど、日本の将来は本当に大丈夫なのでしょうか?(あ、なんだか、老教授のぼやきみたいになってしまいました……)

これまでの【竹内薫のトライリンガル教育】は

© Valed.press