はじめに


遅延評価勉強法という言葉があります。

これはamachangというjavascrpitを書く人で有名な技術者の方が、ブログで言ってた言葉です。該当するエントリは以下。

遅延評価的勉強法 - IT戦記 -

これは、おいらが考える「効率のいい勉強法」に近いものがあるので、少しまとめてみました。

あくまで主観的に「いい」と思っている勉強法ですが、参考になれば、、

遅延評価勉強法って?


まず、以下のサイトがすごくまとまってるので引用してみます。

「遅延評価」という言葉を調べてみると、「ある式を、その結果が本当に必要になる時点までは評価しないでおくテクニック」とあります。そのメリットは、「条件次第で捨ててしまうような値を事前に準備することは非効率的である。このような場合遅延評価を行うと必要なときだけ値が計算されるので計算量を低減できる」とありました。

ここから遅延評価勉強法とは、「その知識が必要になった時に初めて勉強する方法」です。もっと言えば、「○○を学んだから××をやってみる」ではなく、「××をやりたいから○○を勉強する」と定義できます。

ハッカーと遅延評価勉強法

おいらの言葉で言いなおすと「必要になったら、必要なところだけ勉強する」です。

たとえばプログラムを勉強するときに、「書籍を1ページ目からやる」のではなく「2ch型掲示板が作りたいから必要なところを勉強する」のが遅延評価勉強法になります。

通常の勉強法と比べて、モチベーションが高く保てます。また、インプットとアウトプットがほぼ同時になされるので理解度、定着率がダントツに違います。

さきほどのハッカーと遅延評価勉強法の記事には様々な人が、似たようなやり方をとっているのがわかります。

ここにあげられていない人だと、2ちゃんねるを作った西村博之氏なんかは、まさにこの方法でperlを学んだみたいです。

遅延評価勉強はプログラマの勉強法?


ここまで書くと「俺はプログラマじゃないから関係ない」と思う人がいるかもしれません。

しかしこの方法は、受験や試験の時にも使えるテクニックなのです。

事実、おいらは大学受験の時にまさにこの勉強法でやっていました。

以下にそのやり方を紹介します。

偏差値30から一ヶ月で70まで


おいらは大学受験の時に浪人をしています。ちなみに現役での後半で受けた模試の一つでは、日本史の偏差値が30くらいでした。これはひどい。

というわけで、とりあえず日本史をなんとかしないと、どこにも受からない、という状態でした。

しかし日本史は苦手でした。というか暗記が全くダメなんです。人生における大切なことですら思い出せない。

教科書を覚えるとか、参考書を読んでいくとかとうてい無理。いや、本当に無理で、数ページで嫌気がさして全く進まないのです。

そこで思いついたことが一つ。

「別に覚えなくても試験で解ければいい気がする!」

つまり、日本史なんかを覚えなくても、理解しなくても試験の問題さえ出来ればいいんじゃないかという浅はかな考えでした。

しかしこれがよかった。

はじめにやったこと


まず問題集を大量に買ってきます。独自問題が載っているやつは避けて、入試問題だけが載っている問題集を買いました。

そして、予備校でやったノートを開きながら、いきなり問題を解く。原始時代を勉強しようと思ったら原始時代の問題を解く。当然、ほぼわからないからノートを見たり教科書を読んだり参考書を読んだりしながら進めていきます。

その分野の問題が終わったら、新しい問題集を持ってきて、また同じ時代を解きます。今度もあまりわからないから、ノートを見ながら解いていきます。

これが3,4冊目くらいになってくると、問題が多くかぶっていることに気づきます。すでに解いた問題をすぐに解いているわけですから、結構解けてきます。

これを6冊くらいやると、かなりマスターしていることがわかります。しかも試験に出るところだけをマスターしている状態。6冊のうち1冊しか出てこない問題は自然に忘れてしまうので、出やすいところばかり詳しくなっている状態です。

結果


この方法で1ヶ月やってみたところ、5月の模試でいきなり偏差値70くらいに。解けすぎてびっくりしました。さほど勉強したわけでもないので、これはちょっと感動。

最終的にどうなったかも少し。おいらは早稲田大学が第一志望だったのですが、試験3ヶ月くらい前からは、ひたすら早稲田の日本史の問題をといていました。全学部くらい解いていました。すると、かなり同じ問題が出たりするのですね。

結果としては、センター試験は91点/100点、早稲田はだいたい85%くらい解けました。1年前は偏差値30だったことを考えると上出来でしょう。

遅延評価勉強法は、じっくりと暗記したり、教科書読んだりできないおいらにとっては効果的な勉強法だったわけです。

問題がなければつくっちゃえ


という方法ですが、問題もあります。それは

「そもそもやりたいことがないけど勉強したい場合はどうすればいいのか」

というケースです。

やりたくないならやらなければいい、という考え方もあるでしょうが、それでも今勉強しておきたいこともあると思います。

そんな時は無理矢理勉強しなくてはいけない問題を作っちゃう、のがいいです。

たとえば以下みたいな方法がありそうです。

1:自分でブログを作って企画としてスタートする
2:自分で解説サイトを作ってみる(解説をかくために勉強する)
3:自分より初心者に教える

これもおいらの例を参考程度に書いてみます。

1:自分でブログを作って企画としてスタートする

100日プログラミング、というサイトをやっていたのですが、これは、強制的にプログラムをやるためにやっていました。こういう企画にすれば逃げられなくなるのです。

2:自分で解説サイトを作ってみる(解説をかくために勉強する)

図でわかるドロップシッピング、というサイトを作ったのは、自分でドロップシッピングを勉強するためでした。これが最終的には本になったりしたものだから、人生わからないもんです。

3:自分より初心者に教える

自分より初心者を捕まえて教えるのはかなり勉強になります。聞かれて答えられないと恥ずかしいので、聞かれた問題を一生懸命調べるようになります。

結論


ここまで書いて思ったのが、やはり一番の肝は

「インプットとアウトプットが同時にできる」

ことじゃないかと思いました。

勉強しても身につかないのはインプットだけしているケースが多いからではないでしょうか。実際にどう使うのか、がわからないまま勉強しても、つまらないばかりで全然進みません。

アウトプットベースで勉強をすると、すぐ目の前に必要が迫っているので集中しますし、アウトプットするための学び方になるので、より実践的になります。またすぐアウトプットすることで記憶の定着にも役立ちます。

どちらかというと、集中力がない、勉強が苦手だ、という人向きの勉強法な気がするので、是非とも試してみてください。

余談


「試験でとければ内容なんてわからなくてOK」と思ってた日本史ですが、

問題がとけるようになる→理解していく→理解すると興味がでて楽しい→本や小説や漫画などを見たりする→また理解がふかまる

という良循環になったりしていました。今ではすっかり日本史が好きです。