北のシュガポン

北海道大学の工学部生。電気・情報・ロボット・エネルギー専攻。 札幌で一人暮らし満喫中。 お菓子作り、プログラミング、機械学習と色々なことに手を出している暇人。

北大生がつぶやく大学生活や勉強や趣味のブログ。毎日21:00更新予定。

勉強における「車輪の再発明」が推奨されるべき理由

こんばんは。シュガポンです。

 

日本は中学校までは義務教育ですよね。ということは、ほぼすべての人が最低でも9年を学校での勉強に費やしているということになります。これってよくよく考えたらすごくないですか。

今から9年間って考えると・・・。気が遠くなりますね。まあ小中学生のころはそんなこと考えずに日々過ごしてましたけど。

そんなこと考えている小中学生がいたら怖いです。てかすごいです。「こんな勉強しても何の意味もないぜ」的な。達観してますね。

 

閑話休題。

僕は高校を卒業し、さらに大学に進学して、今に至ります。その間なんと13年。人生の大半を勉強にささげてきたといっても過言ではない。なんて人生なんだ。

これだけ長年勉強していると、何となく勉強の仕方というか、どう勉強するのが一番効率がいいのか、みたいなことが分かってくる気がします。教師や教授の方々に比べたらまだまだペーペーですけど。

 

僕は、勉強って結局「知って」「使って」「理解する」という3つの過程に過ぎないと思うんです。

というのは、高校とかの授業だって、まず先生から教えられて、それから問題演習なんかをやって、それで初めて理解するっていうスタイルじゃないですか。これはかなり合理的だと思います。

 

結局、知識として知っているということと、それを理解しているということは別物ですし、もっというならそれを実際に利用できるということは更に別物、ということです。

知識だけなら、それでこそ現代であればいくらでも手に入りますよね。ネットでちゃちゃっと調べればいいだけですから(それが正しいかは別ですが)。

でも、例えば数学の難しい理論をネットで見たからと言って、それを人に説明できるかというとそうじゃないですよね。ましてやその理論を使って新しい価値を創造できるはずもありませんし。

 

で、僕が何を言いたいかというと、何かを学ぶ1番の方法って「やってみる」ことじゃないかと。百聞は一見に如かず、とはよく言ったもので。

プログラミングを学んでいても、実際にプログラムを組んでみることで初めてわかることってかなりあるんですよね。「ここの構文ってこういう意味なんだ」「こういうエラーを吐くことがあるんだ」って感じで。

こういう、経験に基づく学びって、物事を理解するのに大いに役立つだけではなく、経験として記憶に強く残ると思うんです。実際に手を動かすことで記憶に結び付くというか。

その経験は実用にも役立つでしょう。僕はまだそのレベルにはいませんけど。

 

よく「車輪の再発明」っていうじゃないですか。既存の技術をわざわざ一から作るという意味で、しばしばネガティブな文脈で使われます。

でも、僕は意図して行う車輪の再発明っていいことだと思っているんです。というか、数学の証明問題とかも結局は車輪の再発明ですし。わざわざ一から証明するのは、その定理をしっかり理解するために他ならないですよね。

プログラミングだって、今時ほとんどのことがライブラリ(既存のコード)の組み合わせでできちゃいますよ。それでも色んな関数だとか機能を一からプログラミングするのは、やはりその言語の仕組みを理解するためです。

 

ですから、とにかくやってみる。やってみることで見えることもあれば、疑問がはっきりすることもあるでしょう。

一番危ないのは、ぱっと見だけで「あ、これいけるわ」と思うことでしょう。定期試験の時とかもそういう考えで挑むと大抵やらかしますし。経験上。

 

ということで、学生の方におかれましては、試験で高得点を取りたくば先生に教わったことを実践してみるのみ!もちろん試験だけじゃなく、学ぶこと全般に言えることですけど。当たり前だけど、一番大事ではないでしょうか。