月が地球に落ちてこない理由を3分で説明するプログラムは子供達への挑戦状

9月からスタートしたBSフジのミニ番組「ちちんぷいぷいプログラミング」(過去の放送はこちら)、いよいよ今週末の日曜あさ9:55分の回は「月はなぜ落ちてこないのか」を解明するために重力シミュレータをつくります。

プログラミングの教材としてゲームプログラミングが使われるのは、単に子供の興味を引くためではありません。ゲームプログラムこそがプログラミングの持つ本質的な力を説明するのに優れた教材だからです。

「ちちんぷいぷいプログラミング」の番組中では、これまで、「フルーツ狩り」というシンプルなゲームと、「シューティングゲーム」というより規模の大きいゲームを作ってきました。この内容については、当教室で扱う初期の単元に基づいています。

シューティングゲームに登場する敵キャラクターを左右にジグザクに動かしたりするときに、実は三角関数の積分を使っています。

プログラミングを学ぶことの意義のひとつは、「道具(数学)を学んでから、応用法を考える」のではなく、「目的を達成するために必要な道具(数学)を探してあてはめる」ということが自然にできるようになることです。

たとえば鉛筆の使い方、ハサミの使い方、ノリの使い方を一通り学んだ後で「さあ、なにか作ってみよう」と教えるのか、それとも、「これから○○を作ってみよう」と言ってからそのために必要な道具の使い方を教えるのかといった違いです。

授業でいくら三角関数の性質について学んだとしても、「それで結局これはなんで必要なの?」という当然の疑問には誰も答えてくれません。

しかしゲームのキャラクターをジグザクに動かす時は三角関数を積分して使うのが便利だよ、と教えると、子供はごく自然に使いこなすことができます。

学校の授業で英語を学ぶ時は文法から習いますが、日本語を文法から学ぶ日本人はいません。

「こういうときは、ありがとうって言うんだよ」とお母さんに言われて、最初は意味がわからなくても、「ありがとう」という言葉を繰り返すうちに、感謝の意を伝えるときには「ありがとう」というのだ、という道具としての言葉を覚えます。

プログラミングにおいて数学は数ある便利な道具のひとつに過ぎません。
道具としての数学を意識した時、退屈だった数学の授業が輝いて見えてきます。

現代の数学は物理学の成立とも深くリンクしています。

数学における微分積分の真骨頂というのが、まさにこの、「重力シミュレータ」というプログラムに表現されています。

今回はわずか3分の説明の中で、ピタゴラスの定理、ニュートンの方程式、運動方程式、加速度のベクトル分解、加速度の積分、速度の積分といった概念が詰め込まれています。もちろん一つ一つ丁寧に説明すれば、これだけで数時間の授業にすることも可能なはずですが、それではあまりに退屈です。

この回はフジテレビと秋葉原プログラミング教室が協力し、敢えて難しいと思われることに挑戦し、プログラミングという行為が数学や物理を道具として鮮やかに使いこなしていく様を見てもらいたいと考えて作りました。

最初はわけがわからないかもしれませんが、Youtubeで繰り返し見たり、ところどころ一時停止しながら見ることで、理解していってもらえるのではないかと思います。いわばこの回は、未来の子供達にむけた挑戦状でもあります。

ぜひ放送で、そしてYoutubeでご覧いただければと思います。


この記事が気に入ったら、サポートをしてみませんか?気軽にクリエイターを支援できます。

23

#エンジニア 系記事まとめ

noteに投稿されたエンジニア系の記事のまとめ。コーディングTIPSよりは、考察や意見などを中心に。
1つのマガジンに含まれています
コメントを投稿するには、 ログイン または 会員登録 をする必要があります。