プログラミングをやってみたいけど、どうやって勉強すればいいか分からない…
そういう人も多いだろう。
情報系の学校であれば、そこで大体は学習できる。
初心者歓迎の情報系の企業に就職すれば、研修がある。
そういった場合は特に問題ないと思う。
問題は、一人で勉強する場合だ。
例えば、情報系の企業に転職したい場合。
例えば、個人的に趣味でソフトやシステムを作りたい場合。
この時、どうやって勉強していけばいいか分からないと思う。
そこで、今回はこのプログラミングをどうやって学習すべきか、私の経験からオススメできる方法を解説する。
目的別に分けて説明していこうと思うので、よかったら参考にしてみて欲しい。
説明の前に
そんなお前はどうやって勉強してきたんだと言われそうなので、先に書いておこう。
時代は高校まで遡る。
当時、プログラミングの存在を知り、やってみたいという軽い気持ちで勉強を始めた。
が、まだ情報もそこまで充実しておらず、本を買って勉強していたが、独学ではすぐに限界が来た。
そして、大学で情報系の学部に進学。
そこで、最初の約1年半で基礎をみっちり学習してきた。
そのおかげで、JavaとC言語をある程度は書けるようになった。
その後、大学院修了までほぼJavaを書き続け、その中でデータベースとの連携やプラグインの使用方法なども身に付けることができた。
今では、HTMLやCSS、JavaScriptも独学である程度できるようになっている。
こんな感じだ。
オススメの学習方針
まずは、どういった方針で勉強をした方がいいのかを解説していこう。
事前にすべきこと
プログラミングを学習する前に、二つしておかなければいけないことがある。
まず、プログラミングで何をしたいか決めておくことだ。
個人であれば、端末上で動作するスマホアプリなどを作りたいのか、Web上で公開するWebアプリを作りたいのか。
転職等であれば、どういった領域で活躍したいのか。
これによって、まず作る対象が一定の範囲に収まる。
そうしたら、次にどの言語を学習するのかを決めよう。
最低限見る必要があるのは、その言語でやりたいことができるのか。
次に見るのは、その言語の得意な部分が活かせるのか。
これを把握したうえで、次以降に進んでいこう。
どの言語でも共通する学習方針
私も全ての言語に精通しているわけではないので例外はあるかもしれないが、今のところ私が学習した全言語で共通して使える方針を説明しよう。
キーワードは、ずばりトライ&エラーだ。
学習できる環境を整えたら…
- 学習する内容を自分で組んでみる
- どういう結果になるか予想する
- 実際に実行して、結果を確認する
- エラーが出たらどこがまずいのか確認する
- 修正する
- 再度実行して結果を確認する
これをひたすら繰り返すことが重要だ。
もちろん全ての個所に意味がある。
自分で組んでみるというのは、コピペなどをせず、手打ちで組むことを表す。
このように手を動かすことで、その使い方の細かい部分まで必然的に目を通すことになる。
そのため、見落としが少なくなる。
結果の予測は、コードを読む力をつけること。
過去に自分が作成したものや、他の人が作ったものを読む場合もあり、その時に何をしているのか、というのを把握するための訓練だ。
それを理解するためには、まず自分が組んだもので何が起こるのかを推測する練習が必要になる。
実際に実行するのは、一つ上の答え合わせだ。
重要なのは言うまでもないだろう。
エラーへの対処は、多くの人が躓くポイントだ。
言語や環境によっては、英語で長文が表示される。
その時に「うわぁ…」となるのではなく、どこで、どんな理由でエラーが発生しているのかを見抜かなければならない。
実際、日本語だろうと英語だろうと、エラー表示に書かれているのはその内容だ。
そのため、これに普段から慣れることで、対処方針を立てやすくしようという狙いだ。
で、そのエラーが出っぱなしではアウトだ。
だから、それを修正する力も必要になる。
最後の確認は、必要なのはもうお分かりだと思う。
このように、単にプログラミングと言っても、組むだけではまだ足りない。
読んで理解する、エラーの内容を理解する、それに対応するなどの力も必要になってくるのだ。
これを意識しているかどうかだけで、学習の深さが変わってくる。
また、その他サンプルとして提示されているものをそのまま実行するだけでなく、一部数字の変更や処理の追加などもして、どういう変化が起こるかも見た方が良い。
中学の理科でやった対照実験のようなイメージだ。
一部だけを変えて、結果にどう影響するのかを見ることで、変えた部分にどんな意味があるのかを把握することができる。
こういった地道な作業の繰り返しによって、プログラミングの学習は進んでいく。
具体的な方法
方針は分かったと。
でも、具体的にどうすりゃいいんだという突っ込みが入りそうなので、そちらも解説しよう。
ここからは、二つに分けて見ていく。
自分で調べながら進める
一つはこれだ。
私が最初に独学でやろうとした当時、まだネット上にはそんなに情報がなかった。
しかし、今やほとんどの言語について、解説をしているサイトが存在する。
それに、独学者向けの動画サービスなんかも充実している。
そういったサイトを使いながら、上で書いた方針をひたすら繰り返す、という方法だ。
このメリットは、お金がかからない、あるいは少額で済む。
しかも、自分でやるので、時間的なリミットもない。
自分のペースで確実に理解したい人向けだ。
有名どころだと、ドットインストールやProgateなんかがオススメだ。
ドットインストールは基本的な組み方を動画で教えてくれるので、あとは手でそれを組んでいくだけ。
足りないと思った部分は、その都度調べれば問題ないだろう。
ドットインストール – 3分動画でマスターできるプログラミング学習サービス
ProgateはWeb上で組んだものがそのまま実行まで実演してくれる。
これと併せて、自分でも別で同じものを組む等組み合わせることでより効果的に学習できるだろう。
Progate | プログラミングの入門なら基礎から学べるProgate[プロゲート]
また、オマケでPaizaも紹介しておこう。
これは、お題を出されて、それを一定時間で組む試験形式のサイト構成になっている。
自分の実力がいかほどなものか、チェックするには最適だろう。
これは、単なる文法的な知識だけでなく、いかにプログラムに落とし込むかという考え方も試せる。
特にSランクの問題は非常に難しく、やりごたえは十分。
腕に自信のある方は是非チャレンジして見て欲しい。
ITエンジニア・プログラマ向けの転職・就活・学習サービス【paiza(パイザ)】
…とはいえ、自分一人ではなかなか続かないという人もいるだろう。
それに、分からない部分があっても自分で調べるしかないので、時間がかかる。
方針も合っているのか、最初は不安になってしまうだろう。
趣味でやろうとしているのであればそんなに気にならないが、もし転職等仕事で使いたい場合はあまりオススメできない。
教えてもらう
というわけで、仕事等に使う場合はこちらをオススメする。
近くに教えてくれる人がいれば一番いいが…そううまいこと教えてくれる人なんていないだろう。
そこで、プログラミング専門のスクールなどに通うという方法がある。
メリットは、分からないことは何でも聞ける。
具体的な内容はもちろん、最初の何をしたいかさえあれば、それによってどんな言語をやるか相談もできるだろう。
スクールでやっているほどなのだから、知識は信頼できるもののはずだ。
また、強制力が働くので、自分の意思ではできない…という人にも向いている。
最初に無料体験が可能なところもあるので、色々見て、自分がいいなと思うところにしよう。
で、このスクールは大きく二つに分かれる。
まずは、純粋にプログラミングの学習を行うもの。
具体的には、以下に挙げるようなところだ。
未経験からProになる【.Pro(ドットプロ) プログラミングスクール】
プログラミングコーチングスクール【COACHTECH】無料カウンセリングお申し込み
次に、転職支援まで行ってくれるところ。
転職を考えているのであれば、こちらのタイプを検討するのがいいだろう。
GEEK JOBキャンプ_社会人転職コース無料体験・説明会の申し込み
就業支援付き無料プログラミングスクール【アイスタキャンプ】の説明会参加
ある程度自分がやりたいことが分かったら、それぞれの内容を見て、あるいは無料体験等でどこがいいかを確認して欲しい。
まとめ:プログラミングの勉強
一言語目が非常に難しいプログラミングの勉強。
そこで失敗すると、そこまでや知識の修正にかかる時間が無駄になってしまう。
仕事等に使いたいのであれば、先行投資として多少はお金を払ってやるべきだと思っている。
…趣味でやりたい人はそこまでしなくてもいいかなという感じはするが。
とにかく、最初が一番重要なポイントだ。
一つ学習できれば、応用できる考え方はあるので、二言語目以降の学習が非常に楽になる。
一番重要な最初の出だし、ここで転ばないよう気を付けよう。
コメント