3つの工夫で効率アップ!効果的なプログラミング勉強方法

勉強 悩み・心構え

猫田さんと牛山くんが、今日もなにやら雑談をしています。

猫田さん
猫田さん

牛山くん、プログラミングの勉強は進んでる?

牛山くん
牛山くん

勉強はしているんですけどねぇ。なかなか身につかないんですよ。効率が悪いのかなぁ

猫田さん
猫田さん

わかるわかる! 勉強しても、すぐに忘れちゃうのよねー

そこにキャニット先生がやってきました。

CANIT先生
CANIT先生

おやおや? 二人ともプログラミングの勉強方法に悩んでいる感じですか?

牛山くん
牛山くん

もっと効率的に学習できたらいいなって猫田さんと話していたんですよ

CANIT先生
CANIT先生

なるほど。では、今回は効率的な学習方法について少しお話しをしましょうか

プログラミングの勉強効率を上げる3つの工夫

男性 勉強
CANIT先生
CANIT先生

効率よくプログラミングを学びたいのなら、勉強の仕方に工夫が必要ですよ

ひたすらに本を読んで学習したり、理解できるまで何度も同じプログラミング学習をしたりしていませんか? その勉強方法では中々能率が上がらないかもしれません。効率的にプログラミングを学びたいのなら、以下の3つの工夫を意識してみてください。

  1. アウトプット意識
  2. 良質なソースからインプットする
  3. フィードバックをもらう

効率の良いプログラミング学習方法①:アウトプットを意識

効率的にプログラミングを学びたいのなら、インプットとアウトプットの比率は「3 : 7」にすべきです。

CANIT先生
CANIT先生

プログラミングを学習している間、アウトプットを意識していますか?

牛山くん
牛山くん

そういえば、僕の勉強方法はインプットばかりですね

CANIT先生
CANIT先生

インプットとアウトプットの割合は、3:7くらいを目指すといいですよ

アウトプットを増やすことを意識しながら、明確な目標を決めましょう。人間は目標が明確であればあるほどやる気がでる生き物です。ゴールが定まっていれば、どのような段階を踏めば良いのか、どの技術を習得すれば良いのかも順序立てて計画できます。

作りたいものが決まってからプログラミングを開始!

プログラミング

作りたいものが決まったら、とりあえずプログラミングしてみることが大事です。手を動かすと、効率よくプログラミング学習が身につきますよ。本を読んだり、学習サイトを眺めているだけでは、なかなか身につかないものです。

また、全部を理解してから先へ進もうとするのは、あまりよくありません。1つの分野の学習に、あまりにも多くの時間を費やしてしまうからです。また、全てを理解すること自体が不可能に近いことも覚えておいてください。

完璧な理解を求めるのではなく、「だいたい理解できたな」と思ったら自分でコードを書くと良いですよ。そうすれば、どの部分の理解が足りないのかも明確になり、学習しやすくなります

CANIT先生
CANIT先生

完璧な理解を求めるのではなく、「だいたい理解できたな」と思ったら自分でコードを書くと良いですよ。そうすれば、どの部分の理解が足りないのかも明確になり、学習しやすくなります

牛山くん
牛山くん

んー 僕は、完璧な理解を求めすぎていたのかもしれませんね

プログラミングの勉強を意識するならば写経

CANIT先生
CANIT先生

わからない部分が出てきたら、二人はどうしていますか?

猫田さん
猫田さん

わたしは放り投げますね。そしてふて寝します

CANIT先生
CANIT先生

うーん、それはだめですねぇ(笑)

牛山くん
牛山くん

僕はだいたいネットで検索しますね

CANIT先生
CANIT先生

そうですね。ネット上にはたくさんの人がさまざまなソースコードをブログなどにアップしています。検索すれば目的のものが見つかる可能性は高いでしょう。ただ……プログラミングの勉強を意識するならば、コードをコピペするのではなく、写経をしてみましょう。写経をするとコード内容が頭に入ってきて理解が進みますよ

あとは、自分が悩んでいたものが解決できたら、解決方法を共有してみましょう。これは、良いアウトプットに繋がります。同じことで困っている他の人にも有難いものになりますし、後々自分がもう一度見返したいときのための記録にもなります。

QiitaZennといったサイトでは、プログラミングなどをした際の知見をみんなで共有して有効活用しようという趣旨のものですので使ってみるのも有りです。

効率の良いプログラミング学習方法②:良質なソースからインプット

パソコン

プログラミング効率アップの2つ目の方法は、インプットに関して。インプットするときは、正しいソースへアクセスし情報を得ることです。

CANIT先生
CANIT先生

さて、「アウトプットが大事」というお話しをしましたが、インプットがなければ当然アウトプットもできません。インプットはなるべく正しい情報にこだわることが大切です

たとえば、わからないライブラリの関数があった際に、他の人がブログへ載せているコードを最初に読むのではなく、公式のドキュメントを読むことが大事です。

 「Javascript」であればMDNのサイトや、「PHP」ならPHPマニュアルなどがあります。

牛山くん
牛山くん

公式サイトってやつですね

猫田さん
猫田さん

公式サイトかぁ……。何回かのぞいたけど、なんか堅苦しいから苦手なのよね

CANIT先生
CANIT先生

たしかに、公式サイトには堅苦しい一面はありますね。でも、情報は正確ですし、バージョンによっては内容が最新化されていたりします。だから、最初に情報を仕入れるなら公式ドキュメントからの方が良いですよ。その上で、他の情報サイトを利用すれば理解が深まります

ライブラリやフレームワークのソースコードを読む

コードの書き方を勉強をするときは、ライブラリやフレームワークのソースコードを読んでみることをオススメします。

ライブラリのコードを読むことによってどのような挙動を内部でしているのか把握することが出来ますし、何より高度に洗練されたコードである可能性が高いので見ているだけで勉強になります。

オンライン講座も検討してみよう

子供達 パソコン
CANIT先生
CANIT先生

書籍を見ただけでは分かりづらいのなら、オンラインの講座を活用するのも有効ですよ

猫田さん
猫田さん

オンライン講座いいよね。 無料のも多いし

有名なオンライン講座サービスには「Udemy」「ドットインストール」「Progate」などがあります。無料の講座も多いので1つずつチェックしてみましょう。

効率の良いプログラミング学習方法③:フィードバックをもらう

学生

書いたソースコードは、誰かに見てもらって評価や添削をもらう事もプログラミング勉強方法の一つです。

3つめのポイントは、インプットから得られたアウトプットへのフィードバックをもらって、取りこぼした知識を補完することです。

誰かに見てもらうことによって、自分では気づくことの出来なかったミスに気づくことができますし、他人のスマートな解決方法を学ぶ絶好のチャンスでもあります。

周りにエンジニアがいるのなら、ペアプログラミング(2人のプログラマが1台のマシンを操作してプログラミングを行う手法)をしても良いです。また、GitHubなどでプルリクエスト時のコード評価を貰うのも定石ですよ。

エンジニアが身近にいないときは

牛山くん
牛山くん

僕たちにはキャニット先生がいるけど……身近にプログラミングに詳しい人がいない場合も多いですよね

猫田さん
猫田さん

そうそう! そうだぞ!

周りにエンジニアがいないのであれば、自分のブログへコードを載せてみたり、オンライン講師に依頼をしたり、GitHubなどへオープンソースとして載せてフィードバックをもらうようにしてみるの一つの手です。

解決できない問題があったときは、誰かに説明すると良いです。説明している間に頭の中が勝手に整理されて、解決方法を思いつくかもしれません。また、相手に教えてもらえる可能性もあるでしょう。StackOverFlowに質問を投げかるのも手段としてアリです。

まとめ:3つの勉強方法を参考に

スクール
CANIT先生
CANIT先生

以上が、効率よくプログラミング学習する方法です。 二人とも、どうでしたか?

牛山くん
牛山くん

とりあえず僕は写経からかなぁ

猫田さん
猫田さん

わたしも、公式サイトをちょっとは読むようにします

CANIT先生
CANIT先生

うんうん、いいですね。 ちょっとずつでも効率の良い学習方法に近づけるように、意識していきましょう。そうすれば、プログラミングスキルが身に付く日も早まりますよ

❤内容は役に立ちましたか?皆さまのご意見が励みになります☺
YesNo
無料でスキルを学んでからIT業界に転職

そろそろ本気で将来のことを考えなくちゃ……手に職をつけてIT業界に転職したいなぁ。でも、業界未経験だから、なんか敷居が高そう、と思っている方へ。

これからIT業界への転身を目指すあなたに、無料でスキルアップできて、平均で年収は90万円もアップできるんです。

悩み・心構え
【この記事を書いた人】
CANIT 先生

あらゆるプログラミング言語をあやつるフリーの凄腕講師。温和な性格で「わかるまで教えます」がモットー。たまに時間ができると動物の仲間達に、プログラミングを教えることもある。現在の生徒は牛山くんと猫田さん。

タイトルとURLをコピーしました