うちの子、算数が苦手だけどプログラミングなんてできるの?
文系はプログラミングに向かない?
「プログラミング? ああ、ダメダメ。だってうちの子、私といっしょで文系だもん」
よく聞きますね。親が子どもの可能性を制限している典型例です。
IT業界の方であれば知っているはずですよね。特殊な業種向けでない限り、数学を使ったシステムはレアであることを。
物流管理システム、販売管理システム、経理システム、小規模から大規模まで、世の中にはさまざまなコンピューターシステムがありますが、本当に数学って使っていません。使うのは、足し算、引き算、掛け算、割り算、それだけ。つまり小学校低学年の算数です。
実はITでそれほど数学を使っていない
私のSE時代の経験を振り返ってみても、数学を使ったのなんて建築CADシステムと、今も続けている天文シミュレーターくらいです。画像認識の産業用ロボットを開発したこともありますが、あえて微分法を使わずに当時の世界最高精度を叩き出しました。それくらい、ITの世界では数学を使っていないのです。
では、なぜIT以外の人たちは、
「数学ができなきゃ!」
と言うのでしょうか? おそらく、プログラムやデータには数字や記号がたくさん出てくる(というイメージを持っている)からではないでしょうか。数学で使う論理的な考え方と、IT技術の論理的な考え方は確かにかぶるのですが、これは
「プログラミングの前提として数学ができなきゃ!」ということではないのです。
数学が嫌われる本当の理由
そもそも論ですが、皆さんが想定している数学ってなんのことでしょうか? たぶん、学校でイヤになった数学のことを指してはいないでしょうか?
「あのイヤなことが得意な天才で、変態な人だけに許されるのが数字と記号でできたプログラミングだ」
そういうことではないでしょうか。
ハッキリ言います。
「数学は面白い」です。
「それはあなたが変態だからだよ!」
それを言ったら、話が終わってしまいます。我々は、本来面白い数学をつまらなく詰め込まされただけの話です。つまり数学好きが変態なのではなくて、我々が学校でムリやりやらされたイヤな数学が変態数学なのです。本来面白いものを、よくもあんなにつまらないバケモノにしてくれたものです。
浮世絵は微分、俳句は積分!?
「じゃあ面白く説明してくれよ!」
ハイ、いいですよ。じゃあ「微分」でいきましょうか。微分って浮世絵なのを知っていますか? 浮世絵の微分的な画法がゴッホの時代のヨーロッパにジャポニズムというブームを巻き起こしたのです。ほら、もう面白そうじゃないですか?
では「積分」いってみましょうか。不定積分は俳句だって知っていますか? 「古池や~」っていうアレです。この時点であなたの頭は積分をしているのですよ。そして、この積分定数Cこそが俳句の最大の魅力なのです。こんなこと、学校では教えてくれませんよね。こんな風に考えたら、数学は面白いと思いませんか。
「でもなんで微分が浮世絵で、積分が俳句なんですか?」
それは本連載の趣旨から外れるのと、少々長くなるので省略します。
「いやいや、そこまで話したなら、ちょっとで良いから教えてくださいよ!」
と思ったあなた。それが学問です。この例は数学ネタなので、あなたは今、数学に魅せられたのです。こういう入り口なら、あなたも数学を面白く学べたはずなのです。
大事なのは「楽しい」という要素
話を戻しましょう。プログラミングではこの楽しい数学をあまり使わないのですが、楽しい「要素」という意味ではプログラミングと同じです。ですから、たとえ数学の成績が悪くても、プログラミングは楽しい要素さえピンとくれば誰でもできるのです。
テトリスにはまってしまう、マジックを見てるとタネを探そうとしてしまう、ピタゴラスイッチに見入ってしまう。そんな感覚です。それさえあればプログラミングはできるのです。
算数、数学の成績は関係ない、ということは……パソコンを見るのも触るのもイヤだという子以外は、みんなプログラミングはできる、ということなのです。だから楽しくパソコンを触らせてあげてください。たったそれだけで文系でもプログラミングの下地ができるのです。
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- プログラミング言語がたくさんある理由
- 親子でプログラミングを学べるロボット体験会ってどんなところ?
- プログラミング言語を少しだけ学んでみよう
- COBOLエンジニアが次に開発しなければいけないものとは?
- プログラミングは楽しくて仕方がない! 世界三大権威の競技プログラミングコンテスト「AtCoder」を運営する高橋直大氏インタビュー
- 【連載1周年特別編】第26話『ライフハックで行こう!』誕生秘話(後編)
- 「インターネット」にまつわる「アレ」や「コレ」
- 現役エンジニアが教える!優秀なWebエンジニアへと引き上げてくれる10のツール
- 手に汗握る高校生アスリートの戦い。日本最大の高校eスポーツの祭典「STAGE:0」で競技プログラミング 高校生大会を初開催、大会優勝者&主催者インタビュー
- 「まずは可視化コード書きから」めんどくさがり屋必見!できるだけ作業時間を減らすデバッグ術