マジPEACE。

A「ほんと日本は平和だよね〜。」→B「マジPEACE。」から誕生。

文系プログラミング初心者は独学で学ぶべきか?スクールに通うべきか?

文系プログラミング初心者は独学で学ぶべきか?スクールに通うべきか?

 

まず最初に言っておくと、文系であろうがプログラミングの学習は可能である。

強いて言えば、土台となる考え方が理系よりも劣っているだけだ。(もちろん劣っていない場合もあるだろう)

 

では、文系の初心者でプログラミングを学習しようと考えている人は、どう"プログラミング"を学ぶべきだろうか?

 

「独学か?」「教室に通うか?」の判断基準を考えてみよう。

先に結論を言うと、私は教室に通うべきだと考える。

 

IEEExtreme Programming Competition 8.0

なぜ文系プログラミング初心者はスクールに通うべきか?

私は以前、独学で参考書を買ってSwiftとRubyを学んでいた。

しかし、どちらも形にすることができなかった。

だいたい両方とも200時間くらいやったところで脱落した。

 

なぜかと言うと、つくりたいサービスが決まっていなかったからだ。

学習のモチベーションを継続できなかった。

 

毎日やっていても、少しずつしか前進していないように思えて、ゴールが見えて来なかったのも大きかった。

 

さらに文系であったため、数学の勉強をほとんどしていなかっため

理系的な思考が欠如していたのも原因だ。

 

例えば、重要な考え方である「オブジェクト指向」の理解ができない。

そして、プログラミングは、論理的に言語化すること、構造を理解して仮説を立てることが必須になってくる。

 

文系だと、この考え方に慣れていないため、理解するまでに時間がかかるのだ。

 

そこで、プログラミングスクールに通うことを決意した。

 

特にプログラミングスクールの大きなメリットは、

・すぐにわからないことを質問できる

・他人の書くコードを見ることができる

・勉強コストが低くなる

ことが非常に大きい。

 

どんな学習でもそうだろうが、やはり上手い人・できる人の真似をすることが上達の近道である。

さらに、自分で手探りに進めていくには、あまりにも時間がかかりすぎてしまうのだ。

 

プログラミング独学の場合の進め方は初心者にはキツイ

幸い、今プログラミングを無料で勉強することができるサービスが増えている。

例えば、Progate(プロゲート)というサービス。

prog-8.com

 

初心者向けに、かなり丁寧にそしてわかりやすくプログラミングを学習できるサービスだ。

さらにスマホのアプリでもリリースされている。

 

しかし、ただプログラミングを触るだけならばいいだろうが、実際にサービスを開発するところまでは行けないだろう。

 

ではどうすればいいのか?

 

1.目的を決める

プログラミング初心者は、まず「プログラミングを使って、何を実現したいか?(どんなサービスをつくりたいか)」を明確にする必要がある。それも詳細に。

 

明確な目的がなければ、「ほぼ確実に続かない」と言い切れる。

 

なぜかというと、独学はとても孤独な作業だからだ。初学の場合は、わからないことも多く、モチベーションが続きにくい。

さらに知るべき範囲が多すぎるため、どこから手をつければいいのかわからなくなる。

 

2.言語を決める

目的が決まれば自ずと言語が決まってくる。

「なんの言語を学ぼうかな・・・?」からスタートし、そこに迷う人は、独学が難しいと言える。

WebサービスならRuby?機械学習ならPython?PHP・・・?

 

つくりたい成果物に類似した機能を持ったサービスは溢れている。

そのサービスの言語からヒントを得ることはできそうだ。

 

3.プログラムをとにかく書く!!!

初学者がまずスタート地点に立つためには1000時間は必要と言われている。

スタート地点とは、自力でオリジナルサービスを作ることができるレベルだ。

1日2時間でも500日はかかる。

 

4.質問や参考書

わからないことがあったら質問する。プログラミングにおいて、質問するということは最大の学びになる。

独学者にとっての1番のハードルはここだろう。

ネットで質問はしやすくなったが、すぐに答えが帰って来ない可能性もある。

 

特に有名なサービスは、Qiitaだ。

 

参考書は、たくさんあるが、ネットで調べればオススメのものはたくさん出てくる。

1冊とにかく通してやってみよう。自分で手を動かすことができる、サービスを作るところまでできる参考書がオススメだ。

 

オススメの学習の流れ
  • プロゲートで学ぶ言語を1周 

      ↓

  • 参考書を買って1週

      ↓

  • 他サイトなどを参考にイメージを決める 

      ↓

  • オリジナルサービスに着手! 

※なるべく早くオリジナルサービスの開発に着手

 

独学のメリット・デメリットまとめ

メリット

◆つくりたいサービスがあれば一心不乱にできる

◆向いていないと思えば辞められる

◆自分のペースで学習を進めることができる

◆お金がかからない

 

デメリット

◆質問を気軽にすることができない

◆モチベーションを保つのが難しい

 

以上、まとめると、初学者は1000時間、ほぼ一人で向き合って行く必要がある。

勉強会など積極的に行ける人はいいが、なかなか難しいだろう。 

The Scheme Programming Bee

プログラミング教室に通った場合、時間効率がめっちゃいい

プログラミング教室もたくさん出てきている。

実体験を元にプログラミングスクールについて記事でも書いた。

 

プログラミングスクールは、高額だが、やはり体系的に教材が組まれている。

ただし、個人的な意見では、参考書の内容とそこまで完成度に差がないようにも感じている。

 

多くのスクールでは、

講義でプログラミング言語を学ぶ → 自宅で学習する → オリジナルサービスをつくる

を3〜6ヶ月間で行う。

 

そう、スクールでも結局は自宅での自習が前提になってくる。

ちなみにプログラミング教室に通った場合は、独学の半分の500時間でオリジナルサービス開発までいけると言われている。

 

プログラミング教室のメリット・デメリットまとめ

メリット

◆つまづいたら気軽に質問ができる

◆強制的に勉強することができる

◆オリジナルサービスをつくりきるまでサポートしてくれる

デメリット

◆料金が高い(だいたい20万円〜50万円)

◆自分に合っていなかった場合、辞めてもコストがかかる

 

プログラミング学習にはどちらにせよ自学が必要

独学、教室と比べて見たが、どちらにせよ自学の時間を確保することが必須である。

学習時間がかけられない人やモチベーションの継続に不安がある人は、教室に通うことをオススメする。