【決定版】プログラミングを最速で習得できるたった1つの勉強法
こんにちわ!わっくん( @WAKUZ0_2 )です!
この記事にきてくれてありがとうございます!
プログラミングを早く習得したいのですが、どのように勉強したらいいかわからずに迷っています。
学習効率がいい勉強法を教えてほしいです。
こういった悩みを解決します!
↓↓この記事を書いている人↓↓
✔本記事の内容
・プログラミング学習をする上で、最速で習得できる勉強サイクル
よくあるケースだと思いますが、プログラミング学習を始めたはいいものの、
「学習はしているけど、本当にこのやり方で合っているのかな?」
「でも、教材も毎日やっているし、徐々にわかるようになってきたから、このまま挫折しない程度にやっていこう。」
「うん、なんとなくわかるようになった。(←実際は、わかったつもりになっている)」
・・・・・
時間もかけて勉強して教材も何個もやったのに、あれ?なんかわからないことが多い!やばい、挫折しそう、、、どうしよう、、、
こんな時、ありませんか?もしくは、経験したことありませんか?
僕は結構ありました。
結局、どんな学習方法が一番効率的で早くプログラミングを習得できるのか迷いました。
そこで!!!
2年以上プログラミングをやっていて、教材を作ったり、初学者にメンターとして教えている僕が経験上、1番習得が早かった、かつ周りでも習得が早い人に共通している最速の勉強法を教えます!
<想定読者>
・プログラミング初心者の人
・今、学習中で悩んでる人
・これからプログラミングを学ぼうと思っている人
・過去に挫折してしまった人
それは、
「あるたった1つのサイクル」を回していくだけです!!!
これであなたもプログラミングを効率的に学ぶことができ、できないもやもやした気持ち、学習する上での不安、挫折のループから抜け出せます!
この勉強サイクルがいい理由と具体的な方法も書いてます!
それでは、お伝えします!
■最強勉強法サイクル
結論、以下のサイクルを回して勉強することです!
インプットする→問題を解くor簡単なアプリを作る→(わからない)→調べる、復習する、質問する→できる→インプットする→、、、
このサイクルを繰り返し回していくことです!
個人差にもよりますが、自分も学習してきた、人に教える中でこの方法が
再現性も高く、習得スピードが圧倒的に早かったです!
あとは、+αでメンターをつければ、完璧です!
個人的にプログラミング学習にメンターは必須です!
調べつくしても、1人で解決できないことは多くあるし、いつでも質問できる環境で学習した方が挫折がかなり下がるからです!
<メンターの見つけ方>
・MENTAで探す
・プログラミングスクールに通う(僕はTECH CAMPに通いました)
・知人で詳しい人やSNSで知り合った人に教えてもらう
・オンラインサロンに入る(サロン内にメンターがいること前提)
1つずつ解説します!
①インプットする(学習する)
→学習教材などで勉強する時に"全部やらずに"、章ごとで区切ります
(例)
・教材だったら1章〜3章くらいまでやる(各々の教材のボリュームにもよります)
・Progateだったら、html/cssを1周する(道場編は抜きます)
など
インプットが多すぎると、一度に知識を埋め込むことになってしまい、教材を完了しただけで満足し、蓋を開けてみると結局何も覚えていない状態になります。
よって、インプットする量を細かく区切りましょう!
②問題を解くor簡単なアプリ、サイトを作る
→インプットが終わったら、問題形式のものを解いてみるor簡単なアプリを作ります
(前提として、必ず問題があるもの、何かを作りながら学べる教材で勉強しましょう)
(例)
・練習問題があるならば、まず答えをみないで解いてみる
・簡単なアプリであれば、webサイトの1部分だけ、簡単なアルゴリズム
・ネット上にあるアプリの写経をしてみる
など
大切なのは、とにかく、自分で考えて、手を動かしてみることです!
インプットした後に問題を解くのがいい理由を音声でも収録しているので、よかったら聞いてみてください♪
③(わからない)→調べる、復習する、質問する→できる
→サイクルの中でこの過程が1番成長します!
問題を解いたり、何かを作る過程の中でほぼ100%つまずきます。
でも、わからなくて当たり前ですよね。初めて勉強した内容をすぐ覚えて、スムーズにできる人はほとんどいないです。
でも、大丈夫です!
このわからない→調べる→できる。過程がプログラミング学習において1番成長する部分です!やりましたね!笑
わからない時に、教材など復習したり、ググってしらべたり、質問サイトで聞いてみたり、メンターに質問してみたり、、、
「検索力」と「質問力」も同時に鍛えることができます!
もちろん、わからない→調べる→わからない→調べる→わからない→質問する→できる、、という感じになるのはしょっちゅうです!
自分が理解している部分と苦手な分野が必然的に見えるので、それが解決できると記憶に圧倒的に定着します!
1番は、自力で解決することです!
なぜなら、エンジニアには自走力が求められるからです!
(どうしても解決できない問題もあるので、メンターをおくのをおすすめします)
最初は、時間がかかるかと思いますが、何回もこのサイクルを回していくことで、圧倒的に成長スピードも早くなります!
ただし、一長一短で成果が出るわけではなく、早くて1か月、普通であれば3ヶ月くらい経ってから効果が実感できるので、地道にがんばりましょう!
そして、この勉強サイクルのメリットは理由は3つあります。
1、インプットするよりも、アウトプットをするほうが、知識が圧倒的に定着するから
このサイクルを見てわかる通り、インプットの割合がかなり少ないですよね
インプット3割:アウトプット7割の比率が知識が1番定着し、脳みその記憶に残るからです!
なぜ、3:7の比率がいいのかを詳しく知りたい方は、以下の音声から聞いてみてください!
2、何かを作りながら勉強する方がプログラムのイメージがしやすいから
プログラミングを学んだ先には、ポートフォリオ、Webアプリ、Webサイトなど、学んだ知識や技術で作ります!
勉強しながら、実際に動くプログラムを作ることでより実践的なスキルを身につけることができ、いざポートフォリオやアプリを作ろうとした時にイメージしやすくなるからです!
アプリを作る際のポイントは、「少し頑張れば作れる、簡単そうなもの」を作ることです!
例えば、html/cssを勉強しているなら、簡単なWebページの簡単そうな1部分だけを作ってみるとか、Rubyだったら簡単な計算式のアルゴリズムとか、
たいそれたものを作るではなくて、本当に簡単そうで少し頑張れば作れそうなものです!
どんなものを作ったらいいかわからないという場合は、インターネット上のサービスを真似て、同じようなものを実際に作ってみるといいと思います。
3、問題を解けたor何かを作れた!という体験が何回も作れるので、自己肯定感も上がりやすく、挫折率が下がるから
このサイクルは、インプットが少ないのが特徴なのですが、
難しいながら、もがきながらも、「問題を解けた!小さいけど自分の力で何かを作れることができた!」という体験自体が自信に繋がります!
インプットだけだと、その体験が少なく、ただ知識を入れている”つもり”の自己満足になってしまうからです!
このサイクルだと、小さな成功体験を多く積み上げられるので、挫折率も低下し、プログラミングを楽しみながら学べます!
最後まで読んで頂きありがとうございます!
これからも一緒にプログラミング楽しんでいきましょう!
この記事が少しでもあなたの役に立てたら幸いです!
感想やご意見あれば、Twitter(@WAKUZ0_2)からお気軽にどうぞー!