Mentaでプログラミングを教えているのですが、プログラミングを暗記しようとしている人がかなりいらっしゃいます。
私のレッスンではPHPの基礎問題を出題して解答していただき、レビューするという形を取らせていただいているのですが、
生徒さんによっては、解答を先にもらって、それをベースに学習したいという人がいらっしゃいます。
確かに先に答えをもらって、それを基に学習したら効率もいいのですが、
このような学習方法では、
- プログラムを考えて書くという力がなかなか身につかない
- ググる力
- 忍耐力
などが身につかないので、ご遠慮いただいております。
現場のタスクに答えなんてない
実際のタスクでは、誰かのソースを参考にすることはありますが、解答が用意されていることなどありえません。
環境によっては、人に質問することすら、気を使ったり、勇気?がいるところもあるでしょう。
自分に課された問題に対して、「答えがないからできません。」、では到底プログラミングをお仕事にすることはできないです。
驚くべきことに、人によっては、人のコードをパクればOKと教える人もいらっしゃいますが、それでは例え動くものができたとしても、応用力は身につかず、下手したらバグだらけのソースを納品することにもなりかねません。
そもそも、人のソースを真似て書いてるだけでは、いつまでたってもプログラミングが心底面白いと感じることはできないように思います。
プログラミングを覚えようとしている人がいかに多いか
プログラミングを暗記しようとしても、結果的に遠回りになるかもしれません。
それよりも、自分なりにロジックを考えて、多少汚いコードでもしっかりと動くものを形にして、自分の言葉でコードを書くことの方がとても重要だと考えます。
私のレッスンには、答えを用意しておりません。
メンティーさん、おひとりおひとりが書いたコードに沿って、丁寧に添削し、あと一歩だけよくするにはどうすればいいかを常に考えて、レビューさせていただいております。
私には思いつかなかったロジックをいただくこともしばしばで、私もめちゃくちゃ勉強になっています。
私のレッスンを受け続けてくださる方は、驚くほどスキルが向上しており、ご自身で調べる力はもちろん、自分で考えてプログラムを書けるようになってきました。
ある程度までサポートさせていただいたら、あとは、ご自身の趣味・趣向に従って、自由にプログラム道を邁進することができるでしょう。
どうやればロジックを考える力が養えるの?
プログラミングは一朝一夕で身につくものではありません。
たくさんいろいろなコードを読んだり、書いている内に、少しずつ見に付けていくものだと思います。
私も最初は全くプログラミングがわかりませんでしたけれど、現場でレビューを受けたり、いろいろな人のコードを読むうちに、いいなと思ったものを吸収して、少しずつ成長できたかなと思います。
私のレッスンでもPHPの基礎問題から確認し、徐々にロジックを考える方向にシフトしていきますので、お力になれるかもしれません。
プログラミングの暗記はもうやめにしませんか?