プログラミングを学んでみたいのだけど、効率的な学習方法って何かあるのかな?
もし、非効率な行動とか注意したほうが良い点があるのであれば教えて欲しいな
このような疑問に答えていきます。
結論
やらない理由を探すのではなく、とにかくアウトプットあるのみ。
- 効率的な学習方法
- 基本知識を学習
- とにかくアウトプット
- 非効率な行動
- 勉強の仕方ばかり調べる
- インプットばかりでアウトプットしない
- 写経(何も考えず書き写す)
記事の信頼性
私は新卒でSIerという「対企業向けにシステムを開発する企業」に就職しました。エンジニアとして、システム開発の全工程(要件定義や設計、開発、テスト、リリース、保守まで)を担当してきましたし、現在はAndroidのアプリも作成していますので、経験者の視点からお話ししていきます。
プログラミングの効率的な学習方法
まずは基礎をインプットする
プログラミングは機械とコミュニケーションを取るための手段です。
人間ではなく機械に作業手順を伝えるため、「普段の思考回路」とは異なる思考(プログラミング的思考)が求められ、この思考方法を身に着けないとプログラミングはマスターできません。
数学であれば公式や定理、英語であれば文法のように、問題を解くための基本というものがあります。
プログラミングも同様で、いくつかの基本を知らないと問題が解けないので、まずはこの基本を学びましょう。
詳細はこちらの記事で書いていますので、ご興味がありましたらご覧ください。
とにかくアウトプット
ある程度基本を学んだら、とにかく実践あるのみです。
例えば数学でも、定理を学んだらその定理を使って様々な問題を解いて定着させます。
プログラミングも同様で、様々な問題を解くことでプログラミング思考を身に着けていくのです。
私は社会人になってから本格的にプログラミングを学び始めましたが、新人研修で大きく成長できました。
その秘訣は、何と言ってもアウトプット量が多かったからです。(研修後も自宅で2時間は勉強してました)
まずは練習問題に挑戦しましょう。
paizaは様々な問題が用意されており、プログラミング思考を学ぶのに非常に役立ちます。就職への流れも用意されているので、腕試しとしてトライするともしかしたら企業からオファーが来るかもしれません。
稚拙ではありますが、過去に私がまとめた電子書籍もありますのでご紹介させていただきます。また、こちらの内容はYouTubeでも公開していますので、ご興味があればぜひご視聴ください。
初心者が陥りがちな非効率な行動
さて、プログラミングの効果的な学習方法をご紹介してきましたが、逆に非効率になる学習方法は何があるのでしょう?
勉強の仕方ばかり調べる
「とにかく効率良く勉強したい」
この一心で色々な勉強方法を調べ、中々プログラミングの学習に着手できない人がいます。
人間は損失を回避したがるものなので、この行動は仕方がないとは思いますが、「習うより慣れろ」という言葉がある通り、一番効率の良い方法はとにかくアウトプットをすることです。
勉強方法ばかり調べていないで、まずは1問、問題を解いてみましょう。
インプットばかり
本で独学される方に多いのがこのスタイルです。
学生時代、参考書を読んでいるだけでは成績が上がらなかったように、書籍をいくら読んでも、実践しなければ身に付きません。
もちろん、書籍には参考になる情報がたくさんありますが、(よほどの天才以外は)手を動かさなければスキルを習得できません。
写経(何も考えず書き写す)
よくあるプログラミング学習方法に「写経」という、コードを書き写す学習手法があります。
学生時代、先生の板書をきれいにノートに写しても、大して頭に残らなかったことはありませんか?まさにそれと同じ事象が起きてしまいがちなのが、この写経という学習方法になります。
(私だけかもしれませんが)ノートを取るときも、先生の書いたとおりに書き写すのではなく、自分の言葉でメモをする方が脳には定着しやすいです。
プログラミング学習時も、コードをただ書き写すのではなく、自分の頭で考え、自分のコードを書くようにしましょう。
まとめ
今回はプログラミング学習方法について解説してきました。
- 効率的な学習方法
- 基本知識を学習
- とにかくアウトプット
- 非効率な行動
- 勉強の仕方ばかり調べる
- インプットばかりでアウトプットしない
- 写経(何も考えず書き写す)
学校の勉強と同じで、アウトプットをしないと中々定着しません。
paizaなど無料のサービスもありますので、ぜひ挑戦してみてはいかがでしょうか?
本記事が皆様の参考になれば幸いです。ではでは。
コメント