プログラミングの勉強効率を3倍にする方法
さて、皆さん、この記事を読んでいるということは、プログラミングに興味があり、どう勉強すればいいのか知りたいと思っていることかと思います。
僕もプログラミングを知った当初は、どのようにして学習していけばよいのか全く見当つかずでした。
今回の記事では、僕がプログラミングを身に着ける過程で、この方法が最も効率がいい!と思った方法を紹介していきます。
最後まで読んでいただくことで、きっとあなたもプログラミングの習得が可能になることでしょう。
この記事が対象としている人
- プログラミングを学びたいけど、どうやって始めればいいか見当もつかない人
- 一時期プログラミングをやってたけど、途中で挫折してしまった人
- もっと効率よくプログラミングの学習を進めたい人
プログラミングとは何かをわかりやすくまとめた記事がありますので、こちらを読んでいただくと、この記事も理解しやすくなると思います。↴
挫折をなくすコツ全8つ
プログラミングは、持っていると様々な場面で有効活用できるスキルです。
しかし、数あるスキルの中で習得中に最も挫折しがちなものがプログラミングでもあります。
そして、この挫折というものが最も手ごわい敵といえるでしょう。
この問題については、勉強のアプローチの方法に工夫をする必要があります。
まずは、ここから紹介する挫折を極力なくす方法を実践し、厄介な敵を取り除きましょう!
まずは難易度のハードルを越えよう
まず、プログラミングをやめてしまう原因として、単純に難しかったからという理由が挙げられます。
実際、プログラミングの「アルゴリズム」の考え方は難しいものもあります。
しかし、このことが理由で勉強をやめてしまってはとてももったいないです。
プログラミングはとても頭を使いますが、一度わかるようになればそれは簡単なことになります。
そして、どんな難しい考え方であっても、逃げずに考え続ければ必ずわかるようになります。
すべては慣れと経験なのです。
とはいっても、やはり立て続けに難しい問題に直面してしまうと、だんだんやる気が失せていくのは防ぎようがありませんよね。
そこで、難しいことを効率的にこなしていく必要があります。その方法を参考までに紹介していきます。
1:入門書を購入する
正直言って、この項目は前提条件のようなものだと思います。
そもそも入門書などの参考書を購入していない状態では、プログラミングの学習はできません。
ネットという方法もありますが、ネットの情報は断片的であることが多いので、やはり一冊は参考書を買っておくようにしましょう。
「入門書」とだけあって、とても詳しく説明されています。
この書物を読み込むことで、入門とはいえかなり深く理解することができます。難しいと思ったら、頭を使いながら入門書の解説を読んでみましょう。
2:完璧主義は捨てる
完璧主義を持っている人はそこそこいます。
そういう人は、ほとんどの場合、どこかでつまずいてそこで足が止まってしまいます。
つまずいてもがくという経験は大切なのですが、それでも、つまずきまくっていたら日が暮れてしまうのは想像できると思います。
ですから、行き詰ってしまった場合は、そこの部分をいったんスキップさせましょう。
難しい問題を後のほうに預けておくのです。その問題に関するものもすべて後回しにしましょう。自分がわかる部分から次へと進めていきます。
このように勉強していくと、一通り参考書を勉強し終わった後にもう一度自分がスキップした問題を見てみると、割とできそうな気がしてくると思います。
一回目ではよくわからなかった場所も、二回目ではよくわかるようになっているのです。
この経験をした後だと、いかに完璧主義の効率が悪いのかお分かりいただけるでしょう。
参考書の後ろの頁に書かれている知識を持っていればわかるようになる考え方はたくさんあります。
とりあえず、分からない問題があったときは、どんなに心残りがあったとしても、その問題を飛ばしてしまいましょう。まずは全体の70%の理解で十分なのです。
3:覚えようと思わない
プログラミングを挫折した人のなかでかなり多い理由が、関数(ここでは命令文の一種だと思っておいてください)を一つ一つ覚えていこうとして途中であきらめてしまうというものです。
おそらく、頭のどこかでプログラミングはとにかく暗記するものという考え方があるのかもしれません。
関数には、例えばC言語でいくと、数学のサインの値を求めてくれる
sin();
というものや、文字を出力する
printf();
というものなど、様々な機能があります。これら一つ一つの関数は、柔軟なプログラムを書くために活用していく必要があるのですが、覚えていく必要はありません。
というのも、関数については参考書やネット記事をしらべて、使うたびにその部分をみればいいだけで、いちいち覚えなくても事足りるからです。
しいて言うならば、感覚的には関数の書き方を覚えるというより関数の使い方を覚える(理解する)というのに近いかもしれません。いずれにしろ、どこかに書いてある情報を見直せばいいのです。
もし一つ一つの関数を覚えていこうものなら数百から数千もの膨大な数の関数を覚える必要があります。
それでは効率が悪いので、新しく関数を知って、使用した場合は、「こういう関数があるんだ、へえ~」くらいの気持ちで流すようにしましょう。
また、無理に覚えようと思わなくても、普段から多用する関数については嫌でも覚えてくるので、たとえ今覚えることが難しい関数があったとしても、全く覚えようとする必要はありません。
暗記は挫折のもとです!
4:プログラミングに詳しい人と友達になる
プログラミングが難しいという理由で挫折してしまう場合、身近にプログラミングができる友達がいると心強いでしょう。
どうしてもわからないことがあれば、ちらっと教えてもらうことができます。
参考書は、自分がわからないところを察知してはくれませんし、一度わからない解説が出てきてもそれ以上何も教えてはくれません。
しかし、友人なら、自分がわからないところについて、分かるところまで深く解説してくれます。
また、普通書籍にはあまり登場しないようなそこそこレアな情報も友人は持っている可能性があり、そういった話をしれっと聞けるのもメリットであります。
いま自分の身の回りにプログラミングに詳しい友達がいない場合は、SNSなどを使って、そういった人たちとつながることをお勧めします。
それから、教えてくれる友人が一人だけだと、あまり何回も質問すると迷惑がられる可能性があるので、何人かとつながっておくと安心です。
教えてくれる人がいるのといないのとでは大きな差が出ます。
5:プログラミングスクールへ通う
極論的な話になるのですが、どうしてもわからないところがあるのなら、もうプログラミングスクールに通いましょう笑。
これは、詳しい友人に教えてもらうということのアップグレード版みたいなものです。
料金を払う必要が出てきますが、今までわからなかったことがなぜわからなかったのかわからなくなるくらいにわかるようになると思います(ややこしい文章ですみませんね)。
やはり、プログラミングは身につけておけば大きなリターンがありますので、少しくらいお金を払ってでも習得したほうが良いと思います。
わからなくて挫折するなら人から教えてもらった後に挫折しましょう。なんの抵抗もなしにやすやすとやめてしまうのはもったいないです!
つぎは継続の問題を克服する
プログラミングの学習をやめてしまう原因として次に多いのがこの、継続の問題だと思います。
要するに、途中でめんどくさくなってやめてしまうということですね。
僕もこのめんどくさくなったという感覚は何回も経験しました。
自由にプログラムを組むのなら何時間でも没頭するのですが、勉強的にプログラミングをするとなると、やはりだんだんめんどくさくなってきます。
そこで、めんどくさくなってもプログラミングの学習を続けることができるように、工夫する必要があります。その方法の一部をこれから紹介していきます。
1:目のつくところにToDoリスト
この方法は、目標を達成するために(めんどくさくなっても)とにかく継続するための方法として、ぼくが以前記事にしたことのあるものです。ここでも紹介します。
この方法を簡単に説明すると、一枚紙を用意し、今日することを書き出して、そのタスクを達成するとチェックをつけるというものです(まあ、皆さん知ってるか)。
ここで大事なのが、この用意したリストを自分の目のつくところに貼っておくということです。
一度リストをしまいこんでしまうと、存在そのものを忘れてしまいますので、作った意味がなくなります。
しかし、目につくところに貼っておくことで、「ああ、これをする必要があるわ」と気づくことができます。
この方法は、毎日毎日達成するたびにチェックをつけていくのですが、チェックをつけるたびに達成感を感じることができます。
その結果、継続につながっていくというわけです。
さらっと紹介した限りでは、あまり効果があるとは思えないかもしれません。
しかし、この方法は’活用しなければ損’レベルで役に立ちます。
一度僕の記事でまとめてあるので、よかったらぜひこちらの記事も参考にしてみてください。↴
2:プログラミング仲間を作る
この項目は、先ほど紹介したプログラミングに詳しい友達を作るというものに似ているように見えますが、ここでの趣旨は、切磋琢磨する仲間を作ろうというものです。
ただ一人で闇雲にプログラミングの勉強をしていたとしても、そのうち息が詰まってくると思います。
孤独で勉強するのは苦しいものです。そんな時、自分と同じ勉強をしている人や、同じ目標を持っている人たちが近くにいれば、気持ちを共有することができます。
同じ気持ちを共有できるのはうれしいことです。また、やめたくなったときに、自分の仲間の存在があることで、自分と同じ苦しみを持っている人がいると思いなおすことができます。
さらに、互いにライバル意識が芽生えれば、良好なスパイラルができ、どんどん高みへと向かうことができます。
一人では無理でもみんながいればできる。これ、嘘じゃないです笑。
プログラミングを継続的に学習していきたいのなら、プログラミング仲間を作ることをお勧めします。
っあ、言い忘れていましたが、仲間同士で勉強すると、半分雑談とかになって集中できないと思いますので、あくまで仲間とは気持ちを共有したり、支えあったりするために交流しましょう。
勉強するときは8割くらい一人でやりましょう。どうしてもわからないところがあったときに、仲間を頼るのです。
3:プログラミングスクールへ通う
さっき見たような項目名がまた出てきたぞ、そう思った方、正解です。また極論的なことを言います。
仲間をつくっても、ToDoリストを作ってもどうしても継続できないという人、もうスクールへ通いましょう。
プログラミングスクールは、通うために料金を支払う必要があります(2回目の説明)。
しかし、スクールへ通うことによって、プログラミングを勉強せざるを得ない環境に身を置くことになります。お金を払うわけですから、余計にサボるということができなくなります。
さらに、集合型のスクールへ通えば、自分と同じことを勉強する仲間にも出会うことができます。
かなり好条件だと思うのですが、皆さんにとってはどうでしょうか?
まあしかし、やはりお金がかかってしまいますので、スクールへ通うのは最終手段とひとまず考えたほうがよさそうですね。
本気で学ぶのならスクールに通うのはありです。
プログラミングを勉強するときの流れ3つ
ここからは、実際にどういった順序でプログラミングを学習していけばいいのかについて解説していこうと思います。
上記までのことを踏まえれば、挫折することもほとんどなくなると思いますので、さっそく勉強の仕方に移っていきましょう。
1:参考書を一通り読む
まずは、何かを調べようにも、どこから手を付ければいいのかわからないと思いますので、参考書を購入して、初めのほうから軽く読んでいくようにしましょう。
参考書はいわば勉強する手順を示してくれる道案内みたいなものです。
はじめからそんなにがちがちに読んでいく必要はありません。あくまで軽くです。
一回目で理解できるとは限りませんし、いちいち完璧を求めると、時間がどんどん過ぎて行ってしまいます。
ただし、軽くといっても、めちゃくちゃ適当に読んでいってしまっては意味がありません。
考えすぎて頭が沸騰しそうな感覚に包まれたら、一度飛ばしてみるという感じで読んでいくようにしましょう。
また、参考書を読んでいく中で、わからないことが出てきたら、そのページに付箋を貼っておきましょう。
あとからまた考え直す時に、自分がわからなかったところが把握できるので、効率よく学習ができます。
それから、参考書を読んでいく中で書かれている内容を一つ一つ暗記しようとしてはいけません。
このことについては同じようなことを前項で説明しましたが、何かを学ぶたびに完璧に暗記しようとすると、必ず息が詰まって続かなくなります。
参考書を読む際、新しいことを知ったときは、「ふうん、こういうものなのか」というように、理解だけをするように心がけましょう。
2:一章ごとに、関連する問題を解く
一通り参考書を通読することができましたら、次に、その参考書の一番初めに戻り、第一章の部分から軽く見直していきましょう。
そして、章末問題があると思いますので、一章ごとにその問題を解いていってみましょう。
一回目の通読では、内容を把握することにとどめますが、二回目の見直しでは、実際に問題を解いて、力をつけていくということにフォーカスしていきます。
問題を解くというのは、その章の内容をしっかり理解できていなければ難しいことであるので、積み重ねれば、確かな実力が身についていきます。
プログラミングをしっかり身に着けたいのなら、問題を解くという道を避けることはできません。
問題の例を挙げますと、例えば繰り返しについて説明された章であれば、for文を用いる問題が出てくるでしょう。
その中でもメジャーな問題として、2重for文の構造を作って掛け算九九の表を作りなさいというものがあります。
何となくイメージが作れれば、実際にプログラムを書いていくことができるのですが、こういった問題をたくさん解くことにより、プログラムにも応用を効かせることができるようになります。
問題については、参考書に書かれているもの以外にもインターネット上にたくさん転がっていますので、とにかくたくさん解きたい方は、そういったところも活用するとよいかもしれません。
3:アプリやゲームを作ってみる
上記の手順を踏んで、だいぶ知識や技術がついてきたなと思ったら、今度は簡単なアプリやゲームを作ってみましょう。
「いやいや、そう簡単に言うなよ」「まだ無理でしょ」
と思った方もいることかと思います。しかし、そんなことはないのです。
ちなみにいうと、レベルの高い参考書の内容だけをどれだけ極めようとも、いつまでたってもアプリは作れません(基礎はわかっているけど)。
なぜなら、参考書はあくまでもプログラミングの基礎的なもの、もしくは凡例的なものが書かれているだけであり、アプリづくりやゲーム作りに特化したことが書かれているわけではないからです。
プログラムを活用した何らかの作品は、それなりの特化した技術がなければ作ることができないのです。そして、その特化した技術はネットなどの情報をかき集めて身に着けていく必要があります。
ですから、プログラミングについての知識がある程度ついてきたら、アプリやゲーム作りに取り掛かっても大丈夫です。
参考書を極めていようがなかろうが、どっちにしろ結局はネットを使って調べながらつくっていくことになります。
実際にアプリやゲームを作っていくとなるとわかると思うのですが、単に問題を解くのとはまた違った難しさを感じると思います。
まず、どういった内容にするかを自分で決めなければならないということ、また、何から手を付ければよいのかわからないということなど、様々な難点があります。
しかし、自分で作品を完成させた暁には、自分の技術の著しい成長をひしひしと感じることでしょう。
そして、プログラムを自由自在に書き上げる力も付いてくることでしょう。
とにかく実力を上げたければ、何かしら作ってみるというのが最も有効です。
終わりに
いかがだったでしょうか。
今回は、3倍効率のいいプログラミングの勉強法ということについて書いていきました。
今回の記事の通りに勉強をすれば、必ずプログラミングは身につきます。
また、プログラミングを身に着けていく中で、プログラミングは習得がたいして難しいものではないということもわかってくると思います。
今回の記事を読んだことにより、プログラミングの勉強法を皆さんは学んだので、どのように学習していけばよいのかよく分かったと思います。
そして、プログラミングの勉強のハードルが一気に下がったように思ったと思います。とにかくやってみることが大切です。
今回の記事が、皆さんのプログラミングの技術向上の一助となってくれれば幸いです。