
「1日1時間を7日間」で学ぶのが思った以上によかった
夏休みの自由研究と称して、関数型プログラミングについて1日1時間の学習を7日間続けてみました。これが想像以上によかったので、まとめようと思います。
なお、自由研究の中身についてはこの記事では一切触れません。
なぜやろうと思ったのか
なぜこんな方法でやろうと思ったのかというと、以下の2点が理由です。
・難しく、長時間作業するのが苦痛になりそうだった
・ゴールもなかった(わからなかった)のでどれくらい時間をかければいいのかわからなかった
難しく、長時間作業するのが苦痛になりそうだった
内容が難しく、2時間も3時間もやっていたらめちゃくちゃ疲れる&詰まってしまうだろうなと思い、とりあえず1日1時間でやろうと思いました。
ゴールもなかった(わからなかった)のでどれくらい時間をかければいいのかわからなかった
こっちの理由の方が大きいです。
ゴールを決められるほどの知識もない状態でスタートしたので、どこまでやったら終わりにするのか、を決められませんでした。この問題を先送りにするために、とりあえず1時間で1日目をスタートしました。
よかったこと(1) 学んだことが定着している気がする
結果、時間としては7時間を費やしたわけですが、7時間一気にやるよりも学んだことが定着している気がします。定量的に公表できないのが申し訳ないですが・・・。
毎日「昨日やったことを思い出す」という作業から始まるのですが、これがよかったのかなと思っています。他にも、例えば4日目に作業をしているときに、関連する内容が出てきて1日目のメモを見返す、といったこともありました。
昨日、たまたまこちらの本を読みました。
こちらの本にも、「思い出す、という行為をした方が定着する」ということが書かれていました。確かに実感しています。
よかったこと(2) 集中できる
毎日1時間しか作業できないので、めちゃくちゃ集中できます。せっかくの夏休み、他のこともやりたい、ということで60分以上はやらないと決めていました。
今日何しようかな〜ってネット見ていたりすると、あっという間に10分とか経っちゃうんですよね。なので、明日やることも60分の最後に決めてしまい、次の日は何も考えずそれをやりました。
なんか気分乗らないな〜昨日やること決めたけど、やっぱ違うことしようかな〜、とか言っている暇もありません。
7時間通しでやるよりも、集中した1時間の積み重ねで濃ゆい7時間だったと思います。結果、内容としてもより多くのことを深く学べたのでは、と思っています。
よかったこと(3) ずるずるしない
初めてのこととか概念的なことを学ぶ時とか、よくわからなくていろいろなサイトを飛び回って結局よくわからん、気づいたら今日はこれしかやっていない・・・、とかありますよね(私はよくあります)。
1日60分で一旦終わりが来るので、そこで立ち止まって考えたり頭の中を整理できたりするのがとてもよかったです。結果、「これ全然わからん、そもそもこっちをまず調べた方が良さそうだ。よし、明日はこれを調べよう、メモメモ・・・」といった感じで切り替えができました。
やらなくてよかったこと
これはもう完全個人的な感想 & やることによるって感じになりますが、同じようなパターンの方もいるかもと思うので書きます。
何か新しく始めるときに、私は本を買うことが多いのですが、今回に関しては本で始めなくてよかったな〜と思っています。多分途中で投げ出しちゃっていた&今ほどの知識がつかなかった気がします。
今現在は、関数型プログラミングについてざっくりどんなもんかがわかった、というレベルです。ここまできた状態で入門書を買う、というのがちょうどいい気がします。
本に沿って進めると、途中で調べたりなんだりして、本自体がなかなか進まない、ということがストレスになることがあるんですよね。今回であればあくまでも夏休み期間内で進める(1週間程度)という期間設定があったため、本で進めていたら確実に終わらなかった&モヤモヤしてしまったんだろうなと思います。
どんなときにおすすめか
以下のようなことにチャレンジするときに、「1日1時間を7日間」をやると良いのかなと思います。
・初めてのことすぎてゴールがよくわからない
・範囲が膨大すぎる
ゴールがよくわからないときに、とりあえずはじめてみて途中でゴールが決まればそれでいいですし、決まらなければとりあえず7日間やってみる、というのが良いと思います。
範囲が膨大すぎる場合も、7日間で一旦区切りをつけることで、ずるずると時間をかけなくて済む、ということがあるかもしれません。7日間やって引き続きやるのか、一旦ここまでで終わりにするのか、を決めると良いと思います。
最後に
実際にやってみて、思った以上に関数型プログラミングについて詳しくなれました。
(上でも書いたのですが)入門書を買う、というのがいつものパターンでしたが、こうやってひとまずネットで情報を探してざっくりと知識をつけてから入門書を買う、というのもいいなと実感しました。
「1日1時間を7日間」は今後も続けていきたいと思います。