これまで学ぶといえば、机に座り、読んだり書いたりすることだった。

しかし、いくら読んだり書いたりしても頭が良くなったり応用が効くわけでもなかった。

あくまで基本が身につくだけで、次第に内容を忘れていく。

それとは別に、脳裏に残った話、計算方法、歴史の内容などずっと覚えているものある。

数学では一次関数、二次関数などが得意だったし、地理の内容や日本史、世界史などストーリーのある社会は好きだった。逆に嫌だったのは、先生が怒鳴りながら教えて数学が苦手になってしまったことだ。社会人になり、40近くになって、やっと過去との距離が落ち着き、また、数学をやってみようと思った。

なぜかというと、プログラミングをしていて、高校数学を使ったりすることが増えてきたからだ。

昔はよく、周りの大人たちに数学は何に使うのか聞いても答えきれる人はいなかった。だから、数学ってあまりタメにならないなと勘違いした。しかし、コーディングでシステムを作ってくるうちに数学が生きてくる。もっと早くプログラミングと会いたかったものだ。

プログラミングは四則演算や場合分けを基本的に使う。AIや機械学習になると、苦手だったサイコサインタンジェント、シグマが出てきたりする。ファイル1つ1つが証明のようになり、それぞれつながって、さらに1つの証明のようになる。

もっと数学を勉強すればよかったという後悔より、こうして、プログラミングと数学がつながって実学として結びつくことに感動と興奮があった。これならなんでもできる気がした。しかし、こうしたIT技術が現実の世界では社会をよくしているが、できることといえば、RESTfulなシステム開発やSNSアプリなどしかない。

Web3も期待しているが、仮想通貨の価値は投機目的によるもので、イーサリアムやリップルのように証明書として使えるが、利用が増えるにつれ価値が上がり、コストが高くなり、環境にも悪くなってしまう。

ブロックチェーンはイーサリアムがより環境負荷の低い運用がされ始めていて、実用性があるような気がする。それによって、税金の使い道や選挙、公共機関の利用、貧困対策にも使えるようになるかもしれない。

話が逸れたけど、コードを書くときに、数学の知識をよく使うわけで、これが読み書きよりも、数学の勉強になり、長期記憶としてなぜか残る。それは反復練習だけのようだが、頭でコードの動きを組み立てることで自然と数学を証明のように組み合わせているので、ずっと覚えてしまう。

読み書きではなく、頭で考えて作ることのほうが覚えていた。学校で自分で問題を作るほうがいいという先生がいて、理数系が得意な生徒に自分で問題をゲーム感覚で作っている生徒もいた。そんなめんどくさいことしたくないなと当時は思っていた。

今プログラミングをやってみて、その効果を実感しているが、それだけでは覚える要素が何か足りないと思った。頭で考えて、実際に作る以外に他にもやっていたことがある。失敗と成功を繰り返す、本やサイトで調べること、映像で頭の中で図解を想像すること、また、SFのように知ってる知識でストーリーを想像して物語化してみたりしていた。

頭で考えて、作るというのは簡単だが、自分みたいに要領が良くない場合は、よりその言葉の意味を分解して、その分解したもので学ぶことを実践することが効果的で良かった。

まとめ

学ぶというのは、頭で考えて、実際に作るのが効果的だった。具体的には、失敗を繰り返し成功を見つけ、参考書やサイトで調べたり、動画で学んだことを図解化、ストーリー化して長期記憶として残すことができる。課題としては、それをより応用という領域にまで考察していきたい。