プログラミングを学習するということ(後編)
前編では、なぜ、目的、難しさについて、おおまかではあるが述べさせていただいた。後編では、プログラミングの学習方法や学習プランの考え方や方法などについて述べていく。なお、あくまでも一例である。必ずしも誰にでも当てはまるわけではないことを申し上げておく。前編でも少し触れたが、何事もそうだが、継続力が必要である。毎日しゃかりきになってやる必要はないが、コツコツと積み上げていくことが力になる。案外、これが難しいのがプログラミング学習なのである。
独学かスクールか?
学習方法には、独学とプログラミングスクールの2つの方法がある。独学とは、書籍やProgate、動画などで学習する方法、プログラミングスクールは文字どおり、スクールに通って学習する方法である。もちろん、厳密にわけられるものではないが、基本的にこの2つにわけられる。それぞれのメリット・デメリットを表にして載せておこう。あくまでも、個人としての考えなので、ツッコミがあれば大いにしていただきたい。
学習方法 | コスト | サポート | メリット | デメリット |
独学 | 低い | ☓ | 気軽に始めやすい 自分のペースで学習しやすい | メリハリをつけにくい 目標が達成できなかったなどの理由 でムダに自分を追い込みやすい |
スクール | 高い | ○ | 期間限定なので集中的に学べる 生徒同士でいろいろ相談しやすい | スクールによって講師の質と サービスの差が大きい |
独学のメリット
気軽に始めることができ、自分のペースで学習することが、最大のメリットと考える。いつでもやめることができ、やめたとしても誰からも文句を言われることはない。ただ、ちょっぴり挫折感を味わうことだけだろう。学習コストもスクールと比較すると低いといえる。
独学のデメリット
気軽に始められる反面、学習にメリハリがなくなり、あちこちに手をだしてしまう点だろう。コストについては低いとしているが、ケースによっては結果的にスクールより高くなる。独学は、書籍やProgateや動画などの学習サイトになる。学習サイトは、基本的に月額いくらというところが多い。無料の部分もあるが、学習するなら課金は必須である。学習サイトオンリーでやるなら低いと言えるが、そこに書籍がはいってくると変わってくる。
書籍は1冊3,000円程度である。1冊2冊ですめばよいがそうはならない。結局、何冊も購入する羽目になることが多い。そうなると、コストが跳ね上がっていく。ムダにしないためにも書籍の厳選はしておきたい。さて、こういうことを書くと「おススメの書籍は、どれがいいですか?」と聞いてくる輩がいる。そういう時はこう答えることにしている。「自分がわかりやすいと思った本を買え」突き放しているように見えるが実は違う。自分にとってわかりやすいことが相手にとってもわかりやすいとは限らない。逆に「おすすめされたので買ってみたけど難しかった」ということが起こりやすいのである。
スクールのメリット
スクールは挫折する事なく続けられることがメリットだろう。同じコースの生徒同士で情報を交換したり、講師からのサポートが受けることができるなど、学習効果が高いといえる。ただ、スクールの学習コストは高い。金額的なことをいえばコースごとに料金が加算されるということだ。たとえば、Pythonのプログラミングコースやデータベース、Webまで広げると結構なお値段になる。学習したいことを全部スクールで学ぶのではなく、独学と併用するのがいい。
スクールのデメリット
反面、デメリットもある。講師の指導力の問題である。人に教えるというのは難しく、それなりの能力が必要となる。指導した経験があればわかることだ。いくらプログラミング歴が長くても、講師として指導力が高いかと言うと別問題である。よくいわれるように、プロ野球でいい選手がいい監督になるとは限らない、これと同じだ。プログラミング歴が短くてもよい講師はいる。
「プログラミング歴が長いほうがよく知ってるよね」と思われる方もおられると思うが、よく知っているのと人に教えるというのは関係がない。プログラミング歴が長い人ほど、専門用語を連発したり、余計なことを喋ることが多い。初学者にとって必要なことは何か、どんなことを知りたがっているのか理解していないと言えるだろう。講師になる人は、人に教えるということを学んでほしいものである。これは、意識して勉強しないと、単に教えていれば力がついてくるものではないことを知っておいてほしい。
学習プランを考える
目的を達したいのであれば、ある程度学習プランが必要である。ここでいう、学習プランは、事細かく決める必要ではないということだ。事細かく決めても、うまくいかないことが多々でてくる。うまくいかないと、焦り、ストレスを抱え込んでしまう。笑い話にもならない。学習プランは余裕を持った内容で決めよう。
目的の達成日を決めておく
学習プランを考える上で、まず、最初に決めておきたいのが、目的をいつまでに達成させるかということである。いわばゴールの日にちである。堅苦しく考える必要はないが、短期であれ中期、長期であれ、これを決めておかないとダラダラと学習していく。まったくもってムダにつきる。
また、ゴールの日にちは決して変更してはならない。仕事に納期があるように、納期がない仕事は完成することがないのである。学習することは仕事することではないが、ゴールがない学習は終わることなく、際限なく続いていく。
目標はあいまいにしておく
さて、目的が決まったら、それまでの目標を決めていく。
目標は目的と違ってはっきりと日にちを決めず、6月の中旬までというように、ゆとりをもたせておこう。そうしないと、表.1のデメリットでも述べたように、自分を追い込んでしまいやすく、学習プランに縛られてしまうことになる。
インプットとアウトプットが大事
よく言われるように、インプットしたら必ずアウトプットするというのが原則である。アウトプットしないと身につくことがない。書籍や学習サイト、スクールは基本的にインプットである。どういったタイミングでアウトプットするか、例をあげてみよう。ProgateのHTML&CSS編(初級・中級・上級)とする。次のような形になる。
初級編 > アウトプット > 中級編 > アウトプット > 上級編 > アウトプット
初級編で学習したことをアウトプット、初級・中級編で学習したことをアウトプット、初級・中級・上級編で学習したことをアウトプットしていく。この例で言うアウトプットは、学習したHTMLタグやCSSを使ってWebページを作るということである。やってはいけないことは、
初級編を繰り返して周回し、アウトプットすることなく中級編に進むというようなことをしてはならない。
最後にアウトプットすればいいと思うかもしれないが、学習をすすめていくに従って学習する量も増えていくため、たいていは、初級編のことは忘れている。覚えたつもりになっているだけである。Progateは学習指導はかなり親切である。このようにしてくださいという面が強く、迷うことなく学習をすすめることになっている。そのため、アウトプットしないと忘れてしまう傾向が強い。
最後に
少し駆け足になってしまった感があり、わかりにくい部分もあると思う。まだ、書き足りない部分はあるが、基本的なことは押さえたつもりである。また、これ以上は文章量がふえてしまい。さらにわけて書くことになるため、ひとまずひと区切りおきたい。書く機会があったら書いていくつもりだ。
プログラミング学習は始めることはやさしいが難しく大変、そして楽しい。
では、よいプログラミングライフを!