最近人気があるのがプログラミングがある。ナゼかというと、副業として時間単価の高い仕事をすることができるし、特殊な場所や時間を選ばずに行う事ができるから。
しかし、プログラミングで副業ができるようになりたいと思ったら、やはりプログラミングを習得しなければいけません。元々、本業でやっている人は別として、殆どの人はプログラミングと言うのはやっても趣味の領域だと思います。
そんな中、プログラミングを勉強しようとしたとき、どうしても問題となるのが独学か学校に行くかの2つが有ります。
どちらを選んだにしても、それよりもプログラミング習得には欠かせない事があります。
自分もいろいろとやってみましたが、一番早くプログラミングが身につく方法は実際にプログラムを書いて動かしてみる事です。
自分でプログラムを書いて動かしてみる事で、動かなかったり、求めた動作にならなかったりと、机上では得られない体験をすることができるからです。
机上に書いてある事はためにならないとは言いませんが、プログラミング学習で最も重要なのは
自分でプログラムをたくさん書き実践を積む事です。
プログラミングを始める場合、一般的な学習方法は身に付かない
プログラミングを始めようとした場合、独学でやろうとした場合には評判の良いプログラミングの参考書を購入して読んで覚えようとします。
ナゼなら、プログラミングを始める前に、まずプログラミング言語を選択し、その言語の基本的な構文、制御フロー、データ型などについて学ぶことが重要だからです。
しかし、自分の体験からもそうですが、本に書かれている基本的な構文などをチマチマと読んでみても、理解できるどころか余計に混乱すす場合もあります。
ましてや独学で、プログラムの基本構文から勉強していっても、絶対に習得すると言うよほど強い意志を持っていないと、単に眠くなるだけではっきり言って脳には何も蓄積されません。
自分はこのパターンでした。

それではプログラミングスクールに行けば問題無いだろうと思うかもしれませんね。
しかし、実際には自分で参考書を読むか先生が参考書を読んで解説するかの違いこそあれ、やっている事は基本的には同じですよね。
このように、基本部分から教えていく方法は日本の教育方式の専売特許で、学習過程を終了しても全くプログラミングができない人間を製造するだけです。
ではいったいどうすればプログラミングを身につけられるでしょうか?
それは、やはり実践をするのが一番の近道です。戦闘訓練もそうですが、基本的な事を教わっても応用ができなければ戦闘に負けてしまうのと一緒です。
実際に基礎を学ばなくても実際に課題のプログラミングをするとか、必要とせまられているプログラムを作成するとかと言う、実践を行っていくことです。
実践を行いながら、分からない基本部分を都度参考書を読み理解していく方が、具体的な使い方が理解でき、参考書に書かれた内容が理解しやすくなるからです。
従って、プログラミング学習をする場合には、参考書の本読みをするのではなく、具体的にプログラムを書いて行くと言うことなんです。
プログラミング学習は実際にプログラムを組むと理解が早く向上する
それでは先に紹介したとおり、実際にプログラミングをして学んでいく方法としてはどのようなモノがあるか見ていきましょう。
1.オンラインの無料リソースを活用する。
オンラインには、無料で使用できる多数のプログラミング学習サイトがあります。
これらのサイト(例:Codecademy、Udacity、edX、Coursera)は、プログラミング言語やフレームワークを学ぶためのオンラインコースを提供しています。
いくつかのサイトでは、興味を持っている言語を選ぶことができます。
また、オンラインフォーラム、コミュニティ、チャットルーム等があり、プログラミングの学習をサポートしてくれます。
私も幾つかのオンライン学習を受けた事があります。私が受けたのはドットインストールとProgateです。
どちらも無料で有る程度の内容を受講できますが、最新のモノでは無い可能性が有ります。
ただ基礎的な部分を習得するには良いかもしれませんが、まっさらから何かのプログラムを構築する実践と言うよりも、例題の空欄を埋めていくタイプの学習法法です。
従って、関数の扱い方などは参考になると思いますが、プログラム自体のフローを考えるとかと言う部分は欠けています。
有料になると最新のバージョンや効率化などのレッスンも受けられます。ただ、本を読んでノートに書くのでは無く、実際に自分でタイプしながらコマンドを入力していくので、タイプミスなど実際のプログラミングで起こりうる問題も経験できます。
2.プログラミングチュートリアルを見る。
こちらの方法は、プログラムの流れを学んだりするのには便利な方法だと思います。
YouTubeなどのオンラインビデオライブラリには、多くのプログラミングチュートリアルがあります。
特にオススメはキノコードさんがやられている講座がすごいです。特にプログラミング言語のPythonについては、かなり細かく説明されておりホームページと連携すると紹介されているソースコードも入手できます。
そのソースコードを、自分なりに修正したりして実際のプログラムの動きなどを実体験できますので、素晴らしいと思います。
Pythonを学びたければまず最初にこの動画を見ることをオススメします。
ビデオは、学習者が実際にコードを書く手順を示すことができるため、理解が深まりますよね。
絶対に活用すべきツールの1つだと思います。
3.自分でコードを書いて練習する。
私がオススメするのはこの方法です。
先のキノコードのYoutubeで学んだこと等をベースに、自分で学んだことを実践することが重要です。
実際にコードを書いて問題解決を試みることで理解が深まります。また、プログラミング言語の基本を理解するために、シンプルで実践的なプログラム(例:計算機、文字列処理)を作成し実行させながら学ぶのが最適ですね。
プログラムって言うのは、人間と違い絶対に嘘をつきません。必ず記述したとおりに動作します。従って、考えていたとおりの動作をしない場合は、記述が100%間違っているのです。
プログラムを書いていて特に多いミスが
- タイプミス
- 違う変数通しの計算(数字と文字の算術など)
- 関数の定義ミス
プログラムの関数は英語が多いです。従って、英語のスペルを間違えると確実に動きません。また構文の最後に;を忘れるとか、文字列は””で囲むとか、うっかり忘れてしまうと、プログラムの流れが正しいとしても単なるタイプミスで100%動作しません。
これらのことは、実際に自分で記述して動かすから分かる事で、枠の中に関数を選んで入れる等という学習法法では、このようなミスは体験できないのです。
だから、自分でコードを書いて(タイプして)学習することをススメます。
4.プログラマーコミュニティに参加する。
プログラマーコミュニティに参加することで、他のプログラマーから学ぶことができます。
また、問い合わせに対して支援が得られる場合があります(例:stackoverflow)ので、自分でソースコードを書いた後、トラブルで動かない時などの相談に活用できます。

このようなコミュニティに参加する場合、自分のやりたいこと動作しない状態やエラーコード、自分が今まで対処した内容などをちゃんと報告しないと、的外れな回答をもらったり、他のプログラマーからクレームがでたりするので、マナーだけは気をつけましょう。
使うことにより、ネット上でも見つからないようなノウハウを確実に入手することができます。
5.プログラミングスクールに通う
必ずしも誰もができるわけでは無いですが、プログラミングスクールに通えば上記の1〜4までをいっぺんに手に入れることができます。
但し、注意しなければいけないのは集合学習で参考書をベースに講師が説明して教えていくスクールは、できれば避けた方が良いですね。
これは先にも申しましたが、基本的な事を教える(参考書を読めば良い事)を長々教えていて、実践的な内容が少ないスクールは意味がないからです。

できれば、基本学習よりも実践的なプログラムの作成に重みを置いているスクールが良いと思います。
自分の住んでいる場所では、スクールが無いので実際に参加するには交通費が月謝ほど掛かってしまったりし、現実的では無いので参加したことはありません。
しかし、いろいろなプログラミングスクールのホームページから学習法法をチェックしていくと、テックジムが月謝も安く実践的な教育法法を取っているのでオススメかと思います。

最大の特徴は課題を元に、自分でコードを作成して行く方式なので、自分の作成したコードを元にいろいろと指導してくれるため、楽しくゲーム感覚で学んでいけることではないでしょうか。
無料講座やプログラミングの無料カウンセリングなどもありますので、一度チェックしてみることをオススメします。
プログラミング初心者の勉強法 まとめ
自分の経験を踏まえていろいろと書いてきましたが、プログラミング初心者の勉強法についてまとめると以下になります。
- サンプルコードや自分でやりたいことのソースコードを自分で書く
- Youtube等のプログラミングチュートリアルを参考にする
- プログラミングスクールに行く場合は課題方式の実践的な学校を選ぶ
最近、最も注目を浴びておりプログラマーの需要が多いプログラミング言語のPythonを学ぶとしたら、自分がオススメするのは
オンライン形式だとしたらPyQ
実際の学校ならテックジム
だと思います。
しかし、これからプログラミングを学んでいこうとする人へメッセージを以下に送ります。
プログラミングは学び続けることが大切であることを忘れずに、楽しんで学ぶことが大事。
是非、頑張って下さい。応援しております。
