プログラミング学習に使えそうな最高の勉強法
はじめに
「科学的根拠に基づく最高の勉強法」という書籍を読んでいた時、プログラミング学習に使えそうな勉強法があったので、それをプログラミング学習にどう使えるかを皆さんに共有しようと思います。
アクティブリコール
アクティブリコールとは、勉強したことや覚えたいことを、能動的に思い出すこと、記憶から引き出すことです。つまりはアウトプットです。
プログラミング学習でいうアウトプットは、自分で何かアプリを作ってみる、記事を書いてみる、チーム開発・個人開発をしてみる、実務を経験するなどがあります。
更に、実際に行動を起こしてアウトプットを行うだけでなく、思い出すことだけでも効果があるそうです。
例えば、自分で作った簡単なアプリを頭の中で振り返る(良かった点、改善点等)、とかですかね。
精緻的質問
学習している内容に対して「なぜ?」と自分に問いかける勉強法です。
例えば、「コードは動いたけど、なぜ動いたんだ?」と自分に問いかけ、分からなければ納得できるまで調べて理解するのが良いと思います。
「なぜ?」と自分に問いかける習慣を身に着けておくことは、エンジニアになるであろう人たちに大切だと思います。
自己説明
自分に対して、学習している内容や学習過程の理解について問いかける勉強法です。
「なぜ?」と問いかける精緻的質問とは違って、質問の範囲が広いです。
例:
・○○とは何か、自分の言葉で説明して
・○○と△△の違いを説明して
・○○で理解できたところとできなかったところを説明して
これによって、理解できていないところが浮き彫りになって、足りない知識を埋めることができるのが自己説明です。
勉強場所を定期的に変えてみる
勉強法とはちょっと違うかもしれませんが、定期的に移動して勉強場所を変えてみてもいいかもしれません。なぜかというと、勉強して疲れた時、別の場所で勉強するために歩きますよね。それだけでもリフレッシュするからです。勉強場所といえば自分の部屋、大学内(教室・図書館など)、ファミレスなどがありますね。いつも同じところで勉強している方は、他に勉強できそうな場所を見つけてみてもいいかも?
スキマ時間を作る
日々生活している中で、暇な時間は少なからずあると思います。その時間をどうにか確保して勉強時間に回してみましょう。30分だけでも1年間で180時間、1時間も確保できれば2倍に増えます。 1時間を30分×2回、20分×3回に調整するとハードルを下げられます。
好奇心に従ってみる
何か興味のあること(面白そう・楽しそう)がある場合は、時間の許す限りそれに従ってみるべきです。できればプログラミング以外の方がいいです。 新しい情報に触れて好奇心を持てば、さらなる知識の探求をするようになりますし、単純に学ぶのが楽しくなります。
そして、プログラミングを学習している方なら、今自分が好奇心を持っていることを掛け合わせてアプリを作ってみようという発想になるかもしれません。その発想を生かして、自分が使いたいと思うアプリを作れるようになれば、プログラミングだって絶対楽しくなります。
おわりに
今回紹介した勉強法は、アウトプット寄りの内容です。インプットももちろん大事ですが、アウトプットの比率を高くして勉強に励んだ方が成長につながると思います。参考になれば幸いです。
そして、本書を一度読んでみることをお勧めします(Amazonのリンクを添付します)
Amazon : 科学的根拠に基づく最高の勉強法
Discussion