プログラミングをこれから始めようとしたときに、どうやって勉強しようか迷ってしまうという人は多いと思います。学習をより効率よく、長く続けられるように、たくさんある勉強法のメリットとデメリットを確認して、より自分に向いているものを選択しましょう。
どの方法も万能ではありません。この記事では、それぞれの方法のメリット・デメリットに加えて、デメリットとどう付き合えばいいのか?をご紹介します。
『どうやって勉強するか』を決める前に、『何を作りたいのか』をもう一度考えてみよう。
独学かスクールに通うのか、本かWebの学習サイトか・・・を考える前に、『何を勉強するのか』を考えてみましょう。ITを使ってできることは、一昔前に比べて格段に増えました。一口にプログラミングと言っても、さまざまな技術・ざまざまな知識を組み合わせる必要があります。
例えば、『スマートフォンのアプリを作りたい』とか、『かっこいいWebサイトを作りたい』とか、『自分で考えたゲームを作りたい』、『会社の業務を効率的にするためのシステムを作る』など、さまざまなものがあります。
当然ですが、本を読む場合でも、スクールに通う場合でも、目的にあった本・コースを選ぶ必要があります。
書籍
プログラムにかぎらず、本を使った勉強は昔から代表的な手段ですが、プログラムの勉強でもやはり、本を使った勉強は基本的で、代表的な手段です。
書籍で勉強するメリット
細切れの時間を有効に活用できる。
自分の好きなときに、電源や場所を気にしないで本を広げることができます。例えば授業と授業の間、アルバイトが始まるまでの数十分、通勤通学の電車の中など、ちょっとした空き時間にも学習を進めることができます。
1日の中で細切れの時間が多い人は、その時間を使って学習を進めることができます。
信頼できる情報が多い
Webを検索すると、個人が運営しているプログラム入門のブログがたくさんあるので、参考にすることも多いと思います。
ただし、それらの中には、誤った情報を伝えているものもたくさんあります。
ある程度の知識を得た後なら、その情報が正しいか判断したり、疑ったりできるかもしれませんが、初心者にとってその判断はかなり難しいです。
書籍の場合は、編集者のチェックや出版社の信用に関わるので、個人が運営しているブログに比べると大きな間違いは少ないと考えられます。
とはいえ、あくまでも確率の問題なので『書籍だから100%正しい』と盲信しないことも大切です。
紙に慣れている。
教育現場にITが利用されるようになったものの、学校での授業の基本は教科書とノートです。小さな頃から紙に印刷された情報で教育を受けているから、紙に書いてある事の方が頭に入りやすいという人は多いです。
『Webで書いてあることがいまいち頭に入らない・勉強した気にならない』という人は、本を中心に勉強することも考えてみてください。
書籍で勉強するデメリット
わからない事があっても、解決しづらい。
『学校の授業中、1箇所わからないことがあったら、その後の内容がほとんどわからないまま授業が終わってしまう。』という経験はないでしょうか。
プログラムの学習では、これが顕著に現れます。本の序盤~中盤に登場するような考え方・概念は、その後のさまざまな事柄に関係する場合が多いので、途中で分からない部分を放置すると、その後の内容が十分に理解できません。
2度3度と繰り返し読むことで解決できることもありますが、あまり効率もよくありません。何より『わからなかった』という経験が繰り返されると、やる気を削いでしまうことになりかねません。(これも学校の授業と一緒ですね。)
書籍を中心に学習しようと考えている方は、最初の1冊はできるだけ簡単でやさしいもの(薄くて、ちょっと簡単すぎるかも?という内容のもの)を選ぶことをお薦めします。
普通の本よりも高価
プログラムなどの技術書の値段を初めて見た人はびっくりするかもしれません。『入門』と書かれている本でも2~3千円、分厚い本などは6千円以上するものもザラにあります。
書籍との付き合い方
やる気のある初心者の方は、最初から張り切って『あらゆる情報が詰まった、分厚くて難解な技術書』を買ってしまうことがあります。こうした書籍は、数年経験のある技術者でも読みこなすのは難しいですし、『勉強のため』というよりも『困ったときに調べるため』の本であることも多いです。
最初からつまずいてしまって、やる気を失ってしまうよりも、まずは簡単な本を買って、スキマ時間に読み進めることで基礎力を蓄えることをお薦めします。
Web
近年、Webで有料・無料で利用できる学習サービスがたくさん増えました。こうしたサービスを使った学習は、今後さらに主流になっていくものと思います。
Webでの学習のメリット
きめ細やかで続けやすいサービス
多くのサービスでは、暫くログインしていないとメールで通知したり、学習の進み具合を管理する画面が用意されていたりと、利用者に長く使ってもらうための工夫をしています。
もちろん強制力のあるものではありませんが、『読書だけだと、どうしてもサボりがちになってしまうかもしれない』という心配をされている方には、ちょうどいいかもしれません。
動画・キーボードを使った演習など、書籍には無いコンテンツ
本と比べたときの最大の強みといえるでしょう。最近は多くのサービスで動画のコンテンツを用意していますし、講義の途中でキーボードを使った選択式の問題や、実際に短いプログラムを書くようなサービスもあります。
こういったコンテンツでの学習は、本だけで学習するよりも、より深く頭に定着するでしょう。
無料のコンテンツが豊富
多くのサービスでは、無料でいくつかのコンテンツを提供していて、有料プランですべてのコンテンツが閲覧できる というような形を取っています。
最初は無料のプランで基本的なことを学習して、自分に合っていると思えれば、有料プランを利用するのも良いでしょう。有料プランの場合も、多くは毎月数百円~千数百円と、比較的安価なものが多いです。
Webでの学習のデメリット
PC・スマホ・タブレットが必要
当然ですが、Web上のサービスを閲覧するための機器が必要です。外出先で利用する場合、充電池の残量を気にしたり、動画のサービスを利用する場合には通信制限にも注意が必要です。
自分に合うサービスを探す必要がある
近年、本当に多くの学習サービスが生まれました。それぞれ独自の機能・特徴があり、一長一短あります。
さまざまな特徴をもった多くのサービスの中から、自分にあっている1つを選ぶ必要があります。
これについては、また別の記事で、それぞれのサービスの特徴・どんな人にどんなサービスが向いているのか、ご紹介したいと思います。
繰り返しの学習には不向き
本でプログラムを学習する場合は、わからない部分・難しい部分に付箋を挟んで、何度も繰り返し読むことができます。Webのサービスでも、あとで同じ箇所を確認することはできますが、書籍ほど手軽に読み返すことができません。
『Webでの学習』との付き合い方
Webでの学習は、内容を深く解説したり、難しい部分を繰り返し確認するのにはあまり向いていないので、『基本的なことを一通り、網羅して学ぶ。』という使い方に向いていると言えます。
また、ある程度まとまった時間を定期的に確保することができる方でないと、学習が中途半端になってしまうかもしれないので注意が必要です。
スクール
全国各地に、たくさんのプログラムを教えるスクールがあります。
プログラミングのスクールで勉強するメリット
学習を継続できる
独学では集中できなかったり、どうしてもサボりがちになってしまう人でも、決まった時間にスクールに行くことで、学習を継続しやすくなります。
また、同じ目標を持つ仲間とともに勉強することで、モチベーションを保つことができたり、スクールが終わってからも個人的な付き合いが続く仲間を得られることもあります。
これは、独学では決して得ることのできない、大きな魅力の一つです。
分からない部分をすぐに確認できる
Webのサービスでは、質問を受け付ける機能を持つものもありますが、回答はすぐに得られるとは限りません。スクールの場合は、授業後に講師の方に質問する等して、難しくて理解できなかった部分をすぐに解決できます。
プログラム技術以外の知識も得られる
意外と知られていないメリットですが、プログラム以外の知識を得られるというのも、スクールの大きな魅力です。
ITエンジニアやSEと呼ばれる仕事をする上では、特定のプログラム言語が使える というだけでは不十分なことが多いです。ITに関する技術はプログラミングだけではなく、ハードウェア・ネットワーク・OSやさまざまなミドルウェア・設計の技術やプロジェクト管理の技術など、多岐に渡ります。
あなたが『作りたいモノ』『やりたいこと』に対して、プログラム以外にどんなことを学ぶと良いのか、どんな順番で学ぶのが効率的か、スクールの講師の方に相談できるというメリットがあります。
また、講師の方の多くは、最初から講師だった方だけではなく、ITエンジニアとして活躍した後に講師になった方も多いです。現場で起きたことや必要なスキルなど、リアルな話を聞けるかもしれません。
プログラミングのスクールで勉強するデメリット
授業料が比較的高価である
多くのスクールでは料金に見合う価値のある授業をしていると思いますが、書籍やWebの学習サービスに比べると、どうしても高価になってしまいます。
無料の説明会や体験授業が用意されているスクールも多いので、これらをうまく活用して、自分にあったスクールを見つけたいものです。
決まった時間に拘束される
メリットである"学習を継続できる"の裏返しですが、決まった場所に、決まった時間に行く必要があります。安定してスケジュールを確保できない人にとっては、通学が難しくなることもあります。
スクールの中には、休校・転校や振替授業など、継続して受講できるようにサポートする制度を持つものもあります。忙しい人や予定が読めない人は、こういった制度をうまく活用することで、スクールに通い続けることもできます。
スクールや講師の質がさまざま
こういったスクールには許認可が必要ないので、残念ですが、十分なクオリティを提供できないスクール・講師もあります。説明会や体験授業などに積極的に参加したり、可能ならスクールに参加したことのある人の話を聞いたりして、スクールの質を見極めましょう。
プログラミングのスクールとの付き合い方
継続して勉強し続ける自信が無い人や、過去に1度挑戦したけど挫折したことがあるという人には、とても良い選択肢になります。それなりに授業料も掛かりますが、他の選択肢よりも確実に自分の実力が身につく方法といえるでしょう。
まとめ
実際にプログラムを学習するときには、上で挙げたもののうちどれか1つを選ぶのではなく、いくつかの選択肢を組み合わせることになると思います。
予算や時間の制約が無いと仮定した場合、最初の数ヶ月は次のような学習をお薦めします。
- 数ヶ月かけて、自分にあうスクールに通う。
- まとまった時間を確保して、Webの学習サービスで一通り基本的なことを予習しておく。
- 初心者向けの書籍で、スキマ時間にも学習を進める。
- スクールの講師に相談しながら、次に学ぶより高度で難しい内容を決める。
また、何よりも『モチベーションを高く保つ』ことが重要です。書籍・スクール・Webのどれが、自分のモチベーションを高く保てるのか を基準にして選ぶと良いでしょう。