プログラミングは素晴らしい贈りもの

by 清水亮

いま、世の中にはプログラミング教室がたくさんあります。どの教室も連日大賑わいです。その中で、あえて私たちが独自のプログラミング教室を開講する意味について、このnoteで語っていきたいと思います。

プログラミングができるというのはどういうことでしょうか。
そもそも、子供がプログラミングを学ぶ必要性はあるのでしょうか。

こんにちは。秋葉原プログラミング教室を主宰する株式会社UEIエデュケーションズ会長の清水亮です。

今回は私個人の体験として、子供のころからプログラミングができるということが私自身の人生をどう変えたのかお話ししたいと思います。

私がプログラミングに触れたのは六歳の頃です。

当時はパソコンが大流行していて、ホームセンターやデパートで気軽にパソコンを触ることができた時代です。

私は父親が仕事のために買ってきたパソコンをいつのまにか独占していました。それくらい、私はプログラミングに夢中になったのです。

私の父はエンジニアで、私にゲームの類を一切買い与えませんでした。「他人の考えたもので遊ぶのではなく、自分の頭で考えたもので遊びなさい」と躾けられた私にとって、コンピュータで遊ぶことはプログラミングすることとイコールでした。

最初はBASIC(ベーシック)という言語から入門しました。非常によくできた言語で、子供でも簡単に入門できるところが特徴でした。

特に、すべてのプログラムがアルファベットの大文字で入力するので、まだアルファベットの大文字小文字を習っていない子供でも、見様見真似で入力することができたのです。

最初は雑誌や本に書いてあるプログラムリストを打ち込むところから始め、そのうちだんだんと自分自身が気に入るようにアレンジしたり改造したりするようになりました。

そういう過程を経て、一年も経つと、BASICの限界にぶち当たるようになります。

もっと高速なグラフィックスだったり、高度なグラフィックスだったりを扱うためには、より複雑なマシン語という言語に進まなければなりませんでした。しかし、小学生にとって、マシン語の概念は一見して複雑で、入門書も難しく、何度も挫折を繰り返しました。

小学五年生の頃、コンパスと定規でさまざまな図形を作図することを学校で覚えました。

しかし、私はコンピュータを使えばもっと簡単に何角形でも描画することができることを知っていました。三角関数を使うことで、非常に簡単にそうしたプログラムを書くことができたのです。

私にとって三角関数とは、すでに当たり前の道具でした。自転車に乗るのに理屈がいらないように、三角関数を使うのにも理屈はいりません。

それが本当に意味するところを理解できたのは、高校に上がってからです。

私にとってベクトルもまた、ごく当たり前で身近な概念でした。プログラミング、特にゲームのプログラミングをしていると、ベクトルや三角関数、そしてベクトルの内積や外積といった概念を日常的に使うようになります。

積分や微分といった概念も、やはりゲームプログラミングを通じて学びました。最終的には、それらを使いこなすためには行列という概念が便利であることも学びます。

高校に入ってから、高校の数学の先生が驚くほど数学を知らないことに驚きました。彼らは方程式の解き方は知っていても、それを実用的に使う方法についてほとんどまったく無知だったのです。

鉛筆の原理をとても詳しく知っていても、それで文字や図を描いたりすることが一切できない鉛筆職人のことを想像してみてください。

確かに鉛筆については詳しいのかもしれません。しかし重要なのは、鉛筆の原理に精通することよりも、その鉛筆を使ってなにを書くか、ということです。

数学はよく「意味が解らない」「大人になっても役に立たない」学問と言われています。本当にそうでしょうか。

実際には、非常に便利で強力な道具の使い方を習ったにもかかわらず、それを実用的に使うチャンスに恵まれないために、みすみす目の前の宝物を見逃しているのではないでしょうか。

同じことは英語などほかの教科にも言うことができます。

そもそも英語は自然言語であり、厳密な文法に従って語られる人工言語ではありません。したがって、構文をいくら細かくひも解いても、それで英語がわかったということにはなりません。

結局、英語を使いこなすには、英文を読んだり書いたりするしかありません。でもどのような動機があれば、英文を読もうと思えるのでしょうか。

プログラミングはこうした問いに対する素晴らしい贈りものです。

数学の実用的な使い方を知りたければ、プログラミングを覚えるのがもっとも近道です。

ちょっとしたゲームを作るだけで、ベクトル、三角関数、そして微分・積分の概念を体感することができます。

英語を覚える動機としては、海外の人が作ったソフトウェアを自分の手元で動かしたり、新しい理論を学んだりするときに自然に興味が沸いて覚えることになります。

実際、私は高校卒業まで、たいして英語を勉強しなかったにも関わらず、いきなりアメリカの会社で働くことになりました。そこで重要だと感じたのは、英語という科目で高い点数をとることではなく、そもそも「英語でなにを表現したいのか」「相手から英語でなにを聞き取りたいのか」という動機をもっていることだということです。

相手が自分に興味をもっていれば、こちらの英語が多少拙くても聞き取ってくれます。反対に、こちらが相手からなにを聞き取りたいかというはっきりとした目的があれば、やはり向こうもできるだけわかりやすく話をしてくれます。

プログラミングは、学校で習う勉強の外側から、勉強することの意味と喜びを教えてくれるのです。

私たちが子供たちにプログラミングを教えたい、と思う動機は、あらゆる人々にとって、プログラミングが素晴らしい贈りものになるからです。

もしお子さんがプログラミングに興味を持ってくれたならば、それは素晴らしいことです。なぜなら、プログラミングはすべての考え方の基礎になりうる強力な概念であり、そしてそのほかの知識や勉強を輝かせてくれる鏡にもなりうるものだからです。

私たちはプログラミングを通じて、単にプログラムができるようになるのではなく、全ての知識と叡智のすばらしさを知ってもらいたいという気持ちでこの学校を開講しています。


▪️筆者プロフィール:清水亮
株式会社UEIエデュケーションズ会長。ギリア株式会社代表取締役社長。2004年度の独立行政法人情報処理推進機構により天才プログラマー/スーパークリエイターとして認定を受け、自らもコーディングし日々深層学習を研究している。深層学習GUI環境CSLAIERを開発し、近年は深層学習を中心とした分野を重点的に研究し、AIの社会実装などにとりくむ。著書に「はじめての深層学習プログラミング」「よくわかる人工知能」など。
ギリア株式会社 https://ghelia.com
秋葉原プログラミング教室 https://www.akiba-programming-school.comニコニコニコ生放送:公式チャンネル「電脳空間カウボーイズZZ」http://ch.nicovideo.jp/akiba-cyberspacecowboys
毎火曜〜金曜   12:00〜(ランチのお供に放送中)




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

85

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

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