THE長文日記

長文とか短文とかのクレームは一切受け付けません

なぜ科学を学ぶことが大切なのか

プログラミング教育が必修化されるから云々、という既に進行中の話の是非は、個人的にはどうでも良い。いや、本当はどうでも良くないが、実際、とっくに大学受験の時期を超えた普通の人にとってはどうでもいいはずである。


(ありえないが)30年前にプログラミング教育が必修化されてれば、オリンピックにサマータイムを導入しようなどという妄言は飛び出していなかっただろうが今更言っても後の祭りだ。


STEM教育だとか、最近だとSTEAM教育だとか、そういう世の中の「流行り」に関しても、基本的にはどうでもいい。


問題は、科学をまなぶことの素晴らしさを認識することなく、単に闇雲に「プログラミング教育」という念仏を唱えることにある。


2013年の年末だったか、その半年後だったか、当時のIT担当大臣に呼び出され、「皆さんの進言のおかげで、内閣の方針にプログラミング教育の義務化の一文を盛り込むことができた。たった一文だと思われるかもしれないが、これは極めて重大な進歩である」と言われたときも実感が沸かずきょとんとしていた。


しかしそれからの世の中の流れをみるに、確かにプログラミング教育の義務教育化という「一文」が独り歩きして、無数の人々に解釈され、それぞれがそれぞれの都合の良い受け止められ方をしてビジネスや政治の道具に成り下がりつつある。


プログラミングを義務教育に組み込むことに全く無関心な政府と、プログラミングを義務教育に無理にでも組み込もうとする政府と、どちらが望ましいかという選択肢のうち一方を選ばなければならないとしたら、自分は後者を選んでしまったわけだが、その結果、あちこちにひずみのようなものができることは避けられなかった。まだ始まっても居ないのにだ。



とりあえず今はScratchやLEGO MINDSTORMSを授業に導入すれば「ぷろぐらみんぐ教育やってます」と言えるという逃げ道が用意されている。



それはいわば授業でモノポリーやキャッシュフロー101を遊ばせて「うちは起業家・投資家教育をやってます」と言っても嘘にはならないかもしれない程度には信憑性があるかもしれない。




でもちょっと待とう。プログラミングを学ぶことがなぜ重要なのか考えてみよう。
それはプログラマーになるためではない。


大多数の生徒にとって、数学を学ぶのが数学者になることを目的としていないのと同様、義務教育課程でプログラミングを学ぶことがプログラマーとして養成されることを目的としてはいけない。


一流のスポーツ選手になるのでも、シェフになるのでも、芸術家になるのでも、数学や物理に強いと有利なのと同じように、プログラミング能力を持った人は様々な分野にその考え方を応用・適用できることを期待される。


プログラミングを学ぶということは、科学の応用法を学ぶということである。


科学とは、簡単に言えば「誰にでも再現可能な知識体系」である*1


誰がどのようにボールを投げても、ボールを投げ上げる角度と強さがわかっていれば、どこに落下するか必ず予測することができる。これが再現性である。


数学の出発点は複数の由来があり、そのためにわかりにくくなっているが、力学を出発点にするのが僕は子供にとって最もわかりやすいと考えている。


なぜなら力を加えればものが力を加えた方向に動く、というのは極めて身体的な感覚であり、身体的な感覚であるからこそ、それを数式化することの意義も感じやすい。



たとえば重力加速度gの惑星で角度θ、強さFで打ち上げた質量mのボールの初速度は以下のように求められる。


a = m /F
v_x = a \cdot cos\theta
v_y = a \cdot sin\theta


ただし、ボールは重力加速度gがある惑星なので、時間経過とともに重力加速度gぶんの影響をうけることになる。


a_x = 0
a_y = -g


この重力加速度を時間方向tに積分すると速度vが求まる。


v_x = a \cdot cos\theta + a_x t = a \cdot cos\theta
v_y = a \cdot cos\theta + a_y t = a \cdot sin\theta - g t


さらにこれを時間tで積分すると位置を導くことができる


x = t a \cdot cos\theta
y = t a \cdot sin\theta - \frac{1 } 2 g t^2


こうしてできあがるのが放物線だ。
文字通り、ものを放り投げたときにできる線である。

f:id:shi3z:20180819035937p:plain


このグラフを見て、「地球上でものを放り投げるとこのように飛ぶ」と説明されたら、「ああ確かにそうかもしれないなあ」と誰もがわかるはずである。身体感覚で知っているからだ。


さて、数学で普通、放物線と言うと全く別の形のものになる。
最もシンプルな放物線はこうだ。


f:id:shi3z:20180819040038p:plain


これのどこが「ものを投げたときの動き」なのだろうか。


これは外来語が日本に入ってきたときの弊害であって、本来はparabola(平行)という意味の言葉が、物理学概念の「放物線」に引っ張られて悪魔合体してしまったものだ。



日本の義務教育では物理を教えずにまず数学を教える。その中でも放物線はかなり初期段階に習う概念だが、「これのどこが放物線なの?」という疑問を与えてしまう時点でゲームデザインとして失敗している気がする。


外国については知らないが、日本の教育システムの場合、とにかく顧客体験(UX)が軽視されすぎていると感じる。
二言目には「先生の言うことを聞きなさい」と言われるクソゲーであるため、本来得られるべき教養が十分行き渡らず、その結果、三角関数のありがたみがわからない政治家や、サマータイムが簡単に導入できると考える政治家が生まれてしまうのである。しかも恐ろしいことに、彼らはそれが恥ずかしいことだという自覚すらない。批判する側のマスコミにもこうした教育が十分行き届いているとは言えず、全体的に結論のでない屁理屈を日々論じているだけで時間が過ぎていく。


科学的思考法を持った人々の間では、そもそも今更サマータイムを導入することがいかに非効率的で馬鹿げているか、敢えて改めて検討する必要がない。それがない人の間では、真剣に議論しなければならない。幽霊はほんとうにいるのか、UFOに乗った宇宙人はいつ地球にやってくるのか議論するのに近い。要は再現性がない。


2000年問題のときにあれだけ騒いだのに、今また人災としてのサマータイム導入を検討することがどれだけ社会に不安と混乱を撒き散らすか、改めて説明するまでもないはずである。本来は。


STEMもしくはSTEAM教育、どちらにとっても出版点は科学(Science)であることに注意されたい。
科学とはなにか、


それは宇宙の真理を再現可能な方法で学ぶことである。


科学を学ぶための技術(Technology)、工学(Engineering)、数学(Mathematics)なのである。さらにそうした知識を使って自己の表現(Art)ができると完璧だ。


子供はいつもいろんなことに疑問を抱いている。
大人は煩わしいからそれを誤魔化して答える。もしくは、自分が信じる真実を答える。


「太陽や月はどうして落ちてこないの?」「人はなぜ生まれるの?」「どうして生き物は死んでしまうの?」「宇宙はどうしてはじまったの?」「宇宙には終りが来るの?」


こうした疑問に最も誠実な態度で答えを見つけようとするのが科学であると僕は思う。
ここで言う「誠実な態度」というのは、「ここまではわかっていて、ここからがわからない」という境界が明らかにされており、なおかつ「全てわかっている人(超越者)が存在しない」ことが表明されているという態度である。


その前提のどちらか一方が崩れると、これは一般の宗教と同じものになってしまう。



STEM教育の究極の目標は、子供なら誰もが抱くであろうそうした疑問に、いかに安易な方向に逃げずに誠実に答えに近づく方法を示すことができるかに尽きると個人的には考えている。


そのための道具として何を使うかというのは、そのあとの問題だろう。

*1:最近は統計的な有意性も含まれるので必ずしも再現性が必要なわけではないがここでは議論を簡単にするためこういい切る