注目キーワード
  1. デザイン
  2. 表示速度
  3. SEO
  4. AMP
  5. PWA

プログラミング初心者が知るべき体系的な学習方法

  • 2020年2月1日
  • 2020年2月11日
  • 未分類
  • 43回
  • 0件

こんにちは、Leonです。 東京でブロガーをしています。

現在、ブログの他にも投資とプログラミング、ライティングスキルを猛勉強中です。

投資(fx)、ライティングスキルについての記事は3月からスタートしようと考えています。気になるという方はブックマークなどしていただければと思います。

 

さて、

この記事を読んでいるということは、

  1. これからプログラミングを始めようとしてるけど、何をどう始めればいいかわからない
  2. すでに学習を始めているが、自分の学習方法が正しいか分からず不安である

のどちらかに当てはまる方が多いはずです。そんな方に向けて、効果的なプログラミングの正しくわかりやすい学習方法を伝授します。

ちなみに、なぜ➁の方にも読んでいただきたいかというと、

比較的時間がかかるプログラミングの学習において、この記事を読んでいるあなたがすでに

挫折してしまいやすい学習方法を行ってしまっている可能性があるからです。

この後紹介する流れで学習を行っていけば、今後の挫折の心配なく安心して進められるはずですよ。

それでは本題へ。(メモの準備を。)

 

プログラミングの体系的な学習方法

 

①プログラミングを利用して何をしたいかを明確にする(目的の決定)

➁その目的に必要なプログラミング言語を確認する(確認するだけ)

プログラミング学習サービスや教材アプリを利用しプログラミングに触れる+理論、文法を学ぶ

(プログラミングの体験+必要知識のインプット)

④[アウトプット]自分の手でプログラムをする

⑴自力で1つのプログラムを最初から最後まで作る ⑵他者のプログラムを活用してプログラム 

⑤言語学習

⑥以降は独学かスクールに通うか自分で決定

 

 

①プログラミングを利用して何をしたいかを明確にする(目的の決定)

 

目的の決定は超が付くほど重要です。プログラミングは目的によって学習内容が大幅に変わります。

ここで道を間違えてしまうと、本来必要のない大幅な時間の浪費をしますし、途中で何のために勉強してるのかわからなくなり挫折につながります。

さらっと説明しますが、プログラマーは3つに分類できます。

  • Webプログラマー
  • ゲームプログラマー
  • AIプログラマー

これからプログラミングを始める方で目的がはっきり作れない場合は、自分がこの3つのどれに当てはまりそうかだけでも把握しておけば大丈夫です。

プログラミングは、

基礎的なレベル(基礎~アプリ開発程度)に到達するのに 200~300時間、エンジニアとして働けるレベルに到達するのに独学で1000時間(プログラムスクールに通えばさらに短縮可能)学習が必要と言われています。

自分の目的に必要なことだけを効率的に吸収していくために、しっかりと目的を明確にさせましょう!

*現在「プログラミングの目的の決め方]、[3つに分類したプログラマーの具体的な内容と難易度]という2つの記事も並行で書いています。そちらの記事も参考にしたければ、この記事をブックマークしておくか、あるいはTwitterもやっているのでそちらでも出来上がり次第ツイートします。Twitter@blog20627958

 

➁その目的に必要なプログラミング言語を確認する(確認するだけ)

 

先ほど説明したように目的によって学習する言語も当然変わってきます。プログラミング言語にも様々な種類が存在します。

(しかし、現実的に多くのシステムや産業で広く用いられているのはそのうち20~30言語といわれています。)

では、自分はいったいどの言語をそして何言語習得する必要があるのでしょうか?

決め方は主に2通りあります。

❶自分の目的に合った学ぶべき言語を選択する

❷世界的に人気な言語を選択する

 

❶自分の目的に合った学ぶべき言語を選択する

あなたがすでに目的を決められているのであれば、問答無用でその目的に合った言語を最優先に選択してください。

❷世界的に人気な言語を選択する

世界的に人気な言語というのは需要があり、優秀な言語ということです。

まだ自分の目的が定まっておらず追い追い目的を決めていきたい、

エンジニアとして働きたいので需要のある言語をとりあえず習得したい って人はこの決め方でも大丈夫です。

*現在[Web,ゲーム,AIプログラマーそれぞれに必要な具体的なプログラミング言語]、[人気のプログラミング言語まとめ]という記事を作成しています。出来上がり次第ツイートしていきます。(Twitter @blog20627958)

 

③プログラミング学習サービスや教材アプリを利用しプログラミングに触れる+理論、文法を学ぶ(プログラミングの体験+必要知識のインプット)

目的と必要な言語を確認したら本格的に学習に入っていきます。

まずすべきことは、自分でプログラムを体験しながら必要な理論文法を学ぶことです。

よく、「そんなのいいから早く言語を勉強したい!」「スマホやパソコンで学べることなんて限られてる。」という人をも見かけます。

 

ですが、ここで言わしてもらうと、そういう人たちはほぼほぼ結果的に遠回りするか挫折します。

プログラミング学習サービスや教材アプリを使用する理由は

  1. 受験勉強とは異なり、画面上でゲーム感覚でプログラムができて本来の楽しさを味わえる
  2. この段階で自分のプログラムを作って確認できる
  3. 新しい目標に出会えたり、今までの目標を変えたりする機会を設けられる

学習初期段階だからこそ先に見える楽しさを知ったり、本当の自分の目標を探してモチベーションの維持にすることが大切なのです。

それでもめんどくさいと思っている人は、とりあえず入れておいて学習にやりがいを持てなくなった時にでも触ってみてください。

いざ始めようとすると無数の学習サービスから選ぶことになるのですが、もちろんおすすめするものがあります。

それが

「Hour of Code」です。

私も利用しました

なぜおすすめできるかというと、

  • 無料で利用できる(これが個人的に最大の決め手)
  • 5億人が使用している
  • 自分で組み立てたプログラミングの確認がすぐできる

一番といっていいほど自然にプログラミングの学習をできるサービスです。

そして、修了した後も上級のコースが多数用意されています。

オバマ元大統領が体験したことでも有名で、ビルゲイツやマークザッカーバーグなどもプロモーション動画に出演しています。 ぜひ利用してみてください。

 

④[アウトプット]自分の手でプログラムをする 

⑴自力で1つのプログラムを最初から最後まで作る

⑵他者のプログラムを活用してプログラム

⑴自力で1つのプログラムを最初から最後まで作る

③のプログラミング学習サービスで、プログラムの仕方を学んだら今度は大事なアウトプットです。

受験勉強を経た人はもちろん、インプットした後のアウトプットがどれくらい重要かご存じですね?

次は、プログラムが何も書かれていない状態からプログラムをしていきます。(③では、従いながらプログラムをするという感じでした。)

これをすることによって「プログラミング]という作業の全体像を把握できるようになります。

 

ぴったりなサービスを紹介します。[Scratch]です。

内容に関しては長くなってしまうので、別の記事として出します。

 

⑵他者のプログラムを活用してプログラム

これも[Scratch]を使います。

他者のプログラムをもとにして、自分で自由にカスタマイズをします。

他者のプロジェクトやプログラミングをたくさん見て参考にすることで、プログラミングスキル習得にとても役立ちます。

自分で1からプロジェクトを行わないことと、この時点の学習段階としてある程度経験を積んだ状態であることから、かかる時間もとても短くなっているでしょう。

 

⑤言語学習(最終的に決定した言語を習得する)

 

ここまで来たら、土台が完成しているのであとは言語学習を行いその基礎的な土台に、自分の目的に合った言語を習得して肉付けしていきます。

どの言語を学習すればいいかは、また違う記事でまとめて紹介したいと思います。

 

⑥以降は独学かスクールに通うか自分で決定

⑤までの学習時間はだいたい200~300時間といわれますが。

ここまで来たら、アプリは開発できるところまでのレベルになっているので、目的が「自分のアプリを作りたい」って方は独学で、自分に、合うような知識を書籍なりWebなりで身に着けていけばいいです。

 

エンジニアとして働くには、これからいままでの3~4倍の時間を学習に費やす必要があります。

時間だけではなく内容も応用化されていくために、独学で乗り越えられるかは正直人によってだと思います。

エンジニアとして働けるようになればしっかりお金が入ってくるので、今はお金を出してエンジニアスクールに通い効率よくショートカットするのも私は賢い手段だと思います。

 

これでプログラミング学習の体系的な学習方法はわかったはずです。

私もブログやプログラミングの経験値はまだまだ足りてないですが、このブログを読んでくれている皆さんとともに、スキルアップをしていきながら同じ目線に立って、皆さんがつまずきそうな部分の解決法を記事にしていきたいと考えています、

一緒に頑張りましょう!