効率よく『写経』でプログラミングを学ぶ方法_その2
お疲れ様です。Y研究員です。身近にいるブロガーから、「毎日書くと良い」というアドバイスをもらったので、これから毎日がんばって書いてみます。目標は1ヶ月!2月10日くらいまで。
さて今回は、英語でプログラムの『写経』について議論しているフォーラムを見つけたので、その内容を共有します。
本を一回閉じて、もう一回書いてみる
プログラムを読んで理解したら、見ないで書いてみる、という方法です。これは短期記憶へ叩き込むので、脳への刺激は強そうです。手で書き写すのは「脳への刺激のため」という話もあるので、その強化版ですね。
覚えるとした場合、大まかな構造(設計)を掴んで、その次は細かい書き方(文法)という順序でしょうか。おそらく一発で再現するのは難しいので、何回か見て完成させることになりそうです。
自分でゼロから作る経験も必要
『写経』だけでは、どうやって書き始めるか分からない、という書き込みもありました。これは課題をプログラムに落とし込む考え方が分からない、という問題ですね。練習問題が用意されていれば、まずはそれを使うのが良さそうです。
本当にゼロから作るとすると、有名な課題に挑戦するのが良さそうです。ソートなどのアルゴリズムや、Fizz buzzなどの代表的なテスト課題が良さそうです。もしくは「ハノイの塔」や「巡回セールスマン問題」もプログラムで解決する代表的な問題です。
コメントをつけながら書き写す
これは自分も時々やってます。ざっと処理を追いかける時に、理解しながら自分の言葉で何をやっているか書き込みます。理解できない文法や命令があったら調べて、そこの上か右横に書き込む形です。
GitHubのコミットを追う
これはちょっと面白いです。プログラムは少しづつ成長させますが、歴史を辿っていく形ですね。Gitコマンドの練習にもなりそうです。
さて自分の『写経』ですが、古典的教科書をつまみ食いではなく、全部終わらせたほうが良い気がしてきました。深みのある本なので(経典!)、中途半端にやって終わらせるのは勿体ない感じです。まずは『写経』で全章を通して、練習問題をやりながら2周目をやっても良いかなと思います。
それではまた!
元ネタ:
無料のプログラミングクラブCoderDojoを運営するにあたり寄付を受け付けています。お金は会場費・Wifiの費用・教科書に使用します。