猫田さんと牛山くんが、今日もなにやら雑談をしています。
牛山くん、プログラミングの勉強は進んでる?
勉強はしているんですけどねぇ。なかなか身につかないんですよ。効率が悪いのかなぁ
わかるわかる! 勉強しても、すぐに忘れちゃうのよねー
そこにキャニット先生がやってきました。
おやおや? 二人ともプログラミングの勉強方法に悩んでいる感じですか?
もっと効率的に学習できたらいいなって猫田さんと話していたんですよ
なるほど。では、今回は効率的な学習方法について少しお話しをしましょうか
プログラミングの勉強効率を上げる3つの工夫
効率よくプログラミングを学びたいのなら、勉強の仕方に工夫が必要ですよ
ひたすらに本を読んで学習したり、理解できるまで何度も同じプログラミング学習をしたりしていませんか? その勉強方法では中々能率が上がらないかもしれません。効率的にプログラミングを学びたいのなら、以下の3つの工夫を意識してみてください。
- アウトプット意識
- 良質なソースからインプットする
- フィードバックをもらう
効率の良いプログラミング学習方法①:アウトプットを意識
効率的にプログラミングを学びたいのなら、インプットとアウトプットの比率は「3 : 7」にすべきです。
プログラミングを学習している間、アウトプットを意識していますか?
そういえば、僕の勉強方法はインプットばかりですね
インプットとアウトプットの割合は、3:7くらいを目指すといいですよ
アウトプットを増やすことを意識しながら、明確な目標を決めましょう。人間は目標が明確であればあるほどやる気がでる生き物です。ゴールが定まっていれば、どのような段階を踏めば良いのか、どの技術を習得すれば良いのかも順序立てて計画できます。
作りたいものが決まってからプログラミングを開始!
作りたいものが決まったら、とりあえずプログラミングしてみることが大事です。手を動かすと、効率よくプログラミング学習が身につきますよ。本を読んだり、学習サイトを眺めているだけでは、なかなか身につかないものです。
また、全部を理解してから先へ進もうとするのは、あまりよくありません。1つの分野の学習に、あまりにも多くの時間を費やしてしまうからです。また、全てを理解すること自体が不可能に近いことも覚えておいてください。
完璧な理解を求めるのではなく、「だいたい理解できたな」と思ったら自分でコードを書くと良いですよ。そうすれば、どの部分の理解が足りないのかも明確になり、学習しやすくなります
完璧な理解を求めるのではなく、「だいたい理解できたな」と思ったら自分でコードを書くと良いですよ。そうすれば、どの部分の理解が足りないのかも明確になり、学習しやすくなります
んー 僕は、完璧な理解を求めすぎていたのかもしれませんね
プログラミングの勉強を意識するならば写経
わからない部分が出てきたら、二人はどうしていますか?
わたしは放り投げますね。そしてふて寝します
うーん、それはだめですねぇ(笑)
僕はだいたいネットで検索しますね
そうですね。ネット上にはたくさんの人がさまざまなソースコードをブログなどにアップしています。検索すれば目的のものが見つかる可能性は高いでしょう。ただ……プログラミングの勉強を意識するならば、コードをコピペするのではなく、写経をしてみましょう。写経をするとコード内容が頭に入ってきて理解が進みますよ
あとは、自分が悩んでいたものが解決できたら、解決方法を共有してみましょう。これは、良いアウトプットに繋がります。同じことで困っている他の人にも有難いものになりますし、後々自分がもう一度見返したいときのための記録にもなります。
効率の良いプログラミング学習方法②:良質なソースからインプット
プログラミング効率アップの2つ目の方法は、インプットに関して。インプットするときは、正しいソースへアクセスし情報を得ることです。
さて、「アウトプットが大事」というお話しをしましたが、インプットがなければ当然アウトプットもできません。インプットはなるべく正しい情報にこだわることが大切です
たとえば、わからないライブラリの関数があった際に、他の人がブログへ載せているコードを最初に読むのではなく、公式のドキュメントを読むことが大事です。
「Javascript」であればMDNのサイトや、「PHP」ならPHPマニュアルなどがあります。
公式サイトってやつですね
公式サイトかぁ……。何回かのぞいたけど、なんか堅苦しいから苦手なのよね
たしかに、公式サイトには堅苦しい一面はありますね。でも、情報は正確ですし、バージョンによっては内容が最新化されていたりします。だから、最初に情報を仕入れるなら公式ドキュメントからの方が良いですよ。その上で、他の情報サイトを利用すれば理解が深まります
ライブラリやフレームワークのソースコードを読む
コードの書き方を勉強をするときは、ライブラリやフレームワークのソースコードを読んでみることをオススメします。
ライブラリのコードを読むことによってどのような挙動を内部でしているのか把握することが出来ますし、何より高度に洗練されたコードである可能性が高いので見ているだけで勉強になります。
オンライン講座も検討してみよう
書籍を見ただけでは分かりづらいのなら、オンラインの講座を活用するのも有効ですよ
オンライン講座いいよね。 無料のも多いし
効率の良いプログラミング学習方法③:フィードバックをもらう
書いたソースコードは、誰かに見てもらって評価や添削をもらう事もプログラミング勉強方法の一つです。
3つめのポイントは、インプットから得られたアウトプットへのフィードバックをもらって、取りこぼした知識を補完することです。
誰かに見てもらうことによって、自分では気づくことの出来なかったミスに気づくことができますし、他人のスマートな解決方法を学ぶ絶好のチャンスでもあります。
周りにエンジニアがいるのなら、ペアプログラミング(2人のプログラマが1台のマシンを操作してプログラミングを行う手法)をしても良いです。また、GitHubなどでプルリクエスト時のコード評価を貰うのも定石ですよ。
エンジニアが身近にいないときは
僕たちにはキャニット先生がいるけど……身近にプログラミングに詳しい人がいない場合も多いですよね
そうそう! そうだぞ!
周りにエンジニアがいないのであれば、自分のブログへコードを載せてみたり、オンライン講師に依頼をしたり、GitHubなどへオープンソースとして載せてフィードバックをもらうようにしてみるの一つの手です。
まとめ:3つの勉強方法を参考に
以上が、効率よくプログラミング学習する方法です。 二人とも、どうでしたか?
とりあえず僕は写経からかなぁ
わたしも、公式サイトをちょっとは読むようにします
うんうん、いいですね。 ちょっとずつでも効率の良い学習方法に近づけるように、意識していきましょう。そうすれば、プログラミングスキルが身に付く日も早まりますよ