- 投稿日:2019-02-18T11:13:17+09:00
【個人的備忘録】新人プログラマの学び方
導入
初めましての方は初めまして、情報学生のDaiMmotoです。
これから様々な技術に触れていこうとした矢先、どういう風に学んでいけばよいのか戸惑ったので個人的に考察してみました。※実はこの記事より大変参考になる先人の記事が既にあります。(えっ…)
そちらを読んだ方が得策かもしれません。この記事はあくまで参考程度にみてね。※偉大なる先人達の記事
「プログラミング勉強を加速させる7つの習慣」
https://qiita.com/YudaiTsukamoto/items/42a8df22ca4c6b327dfd
「完全にゼロからプロのITエンジニアになる方法」
https://qiita.com/barcarunrun/items/f7c4196ae29b364b8b41
学び方について
0. Flow Chart
以下が学び方の流れです。
- 学習目標を決める
- 1の全体像を確認する
- 学習する範囲を絞る
- どこまで理解するのかを決める
- 集中して学習する
1. 目標設定
最初に何がしたいのか具体的な目標が必要です。
使いたい言語しかり、技術の習得であったりの先には「これを作ってみたい!」、「こんなことしてみたい」などの実現したいことがあるはずです。まずは、これらの洗い出しをしましょう。
目標が不明瞭なまま学習を始めると後々挫折しやすいです。ここできちんとどこまで踏ん張るのかを決めておきます。※何をするのにどんな言語が最適であるかは↓を参考に
「初心者がこれから学ぶべき言語を目的別にまとめてみた」
https://qiita.com/blog3nt/items/c84b95ff3c0045416ac3
2. 全体像の把握
次に、学習する事柄について全体像を確認しておきましょう。
プログラミングと言っても分野が違えば、学習すべき知識は大きく異なります。一度、全体像を確認することで自分にとって必要になる範囲に当たりをつけることができます。
全体像を確認する時には、入門書や無料学習サイトのチュートリアルなどが参考になります。ぜひ活用しましょう。3. スコープの設定
全体像が分かった所で、学習する部分のスコープ(範囲)を決めます。
ここでは、学習する内容を現時点で必要な範囲だけに絞り込みます。あまりに学習する事柄の範囲が広すぎた場合、どこから手をつけたらいいのか分かりにくいですし、単純に時間がかかり過ぎます。学習のスコープを決めることによって、必要な技術を求めている水準まで効率的に勉強することが出来るようになります。
4. 理解の定義
スコープを絞り込んだら、どこまで「理解」すればよいのか決めます。
前提として、言葉というものは人それぞれ解釈が異なることがあります。「理解した」という一つの言葉でも人や文脈によって解釈が違うことがあるのです。つまり、言葉の定義を仲間内で共有しておくことはとても大切であると言えます。そこで、「1から10まで用語を使って正しく説明できること」=「理解した」と予め決めてしまいましょう。
こうすることで、他の人にもスムーズに教えることが出来るようになりますし、学習内容に関する齟齬も無くなることでしょう。5. 集中して学習する
ここまでくれば、後は集中して学習するだけです。到達したい水準までしっかりと学習しましょう。
それじゃあ、本でも読んで学習を始めますか!!!
Let's study as hard as we can!!!先人に倣え
「学習をどう進めたらいいか分からない」ですって?
そんな時は、巨人の肩に乗って(先人の知識を利用して)進めて行きましょう。プログラミングを学習する上で利用できる情報源としては、書籍やブログ、公式のリファレンス、手持ちのソースコードなどがあります。
それぞれ特徴が異なるので適宜、最適な情報源を選びながら学習を進めましょう。質問をする上で気を付けたいこと
時にいくら調べても疑問が解決しないこともあるでしょう。そんな時は誰かに質問することも一つの手です。
ただし、あくまで自分で探して見つからなかった時だけ質問してください。自身の力だけで解決することもプログラマには求められる力だからです。※質問する上で大変参考になります↓
「「質問力たったの5か…ゴミめ……」と思われないための質問力の上げ方」
https://qiita.com/ysktsuna/items/fd16e185cc0191abe964
まぁ、ぶっちゃけるとこの記事も先人の焼き増しなんですがねぇ…
ともかく、新人は巨人の肩の上で確実に学習して行きましょう。おわりに
いかがでしたか?
これからプログラミングを学び始める人にとって参考になれば幸いです。