独学のプログラミング学習で挫折してしまうのはなぜか?

独学のプログラミング学習で

挫折してしまうのはなぜか?

HOME > 独学のプログラミング学習で挫折してしまうのはなぜか?
独学のプログラミング学習で挫折してしまうのはなぜか?

23年にわたって、プログラミング研修で多くのプログラマーを育ててきた BFH(ベアフォスターホールディングス)グループが、 その体験からプログラミングで挫折してしまう理由に迫ります。

BFHグループの社内研修では、プログラミング研修の脱落率は0.1%に満たないのですが、独学、つまり一人でプログラミングの勉強を始めた人のほとんどは挫折してしまいます。
どうして独学だと挫折してしまうのでしょうか?
その理由と挫折の回避方法に迫ります。

もう、プログラミングがわからない、難しいといった事とは「おさらば」です!

環境構築で躓く

環境構築で躓く

環境構築でつまずく

独学で学習を始める際の、初めの挫折点は間違いなくここでしょう。
プログラミングを始めるためには、まず環境構築という作業をする必要があります。
スポーツをするために道具と場所が必要な事と同じです。
下準備をしてあげる必要があるわけですね。

プログラミングの場合には最低限でもエディターというものが必要になります。
そもそも、環境構築とはソフトウェアをインストールし、 初期設定を行う作業のことなのですが、 聞いたことがない単語や見たことがない画面が飛び交い、 パソコンやプログラミングに慣れていなければいないほど難しくなります。

具体的にはどんなものをインストールしているの?

具体的にはどんなものをインストールしているの?

よく初学者にも学ばれるプログラミング言語として「Java」というものがありますが、 このJavaであれば「eclipse」というソフトのインストールを勧められます。
また同時に、Javaをパソコンで扱うためには「JDK(Java Development Kit)」 という「Java開発キット」をインストールする必要があります。

これらのソフトウェアは日々改良がおこなわれているため、 様々なバージョンが存在します。
それぞれのバージョンごとに扱える機能や仕様が若干事なってきますので、 「eclipse」や「JDK」などでバージョンが大きく事なってしまった場合、 エラーが発生してしまうこともあります。
また、webサイトをJavaで動かしたい場合は「Tomcat」 というソフトのインストールも行わなければなりません。

もうすでに苦手な方は混乱してしまっていますよね?

環境構築でつまずかないためには?

環境構築でつまずかないためには?

ではどうすれば環境構築での挫折を回避できるのでしょうか?
回避方法としては、もちろんインターネットで調べるという手段があります。

初心者のためのインストールガイドや解説動画なんてものは 少し調べればいっぱい出てくると思います。
しかし、解説で使ってあるものとバージョンが微妙に違うため、 見た目やボタンの位置が違ったり、設定の順番が異なったりすることがあります。

また、「Tomcat」のような少し踏み込んだものや初心者が少ない言語の環境構築となると、 知識があること前提で書かれているサイトも出てきます。
場合によっては時間が過ぎていくだけで、解決できないという事もありえます。

ではそんな方はどうすればよいのか?
それは環境構築がそもそも不要な環境で学習するという事です。

チェック

「環境構築」が不要?

最近では「eラーニング」という学習方法が新しく出てきました。
これはインターネットを用いたオンライン上での学習サービスのことなのですが、 「eラーニング」ではエディターが用意されているものもあり、 サービスにアクセスして即座にプログラミングを始めることができるものもあります。

有料のサービスも存在しますが、 もちろん無料で学習を行うことができるサービスもありますので、 とりあえずプログラミングをやってみたい!という方にはおススメです。

環境構築不要の「みにプロe-Learning」

環境構築不要の「みにプロe-Learning」

みにプロ e-Learning
「みにプロe-Learning」の「アクティブエディター」


当社の「みにプロe-Learning」にも「アクティブエディター」というエディターがあり、 勿論環境構築は不要です。
また、「eclipse」などと同じように「コンパイル」というプログラムを実行するための作業を行うことができますので、 プログラムが正しく記述されていれば正しい出力が行われ、 間違っている際にはきちんと「エラー」が表示されます。

つまり、「開発環境」がワンパックで用意されているのです!
       

覚えることが多い

覚えることが多い

覚えることが多い

環境構築問題が解決し、ようやくプログラミングの学習を行うわけですが、 プログラミングはとにかく覚えることが多いです。
「型」「変数」「if文」「for文」「switch文」「クラス」「インスタンス化」「コンストラクタ」 など、様々な単元、考え方が出てきます。

プログラミングとはそもそもコンピュータに指示を出して何かを動かす手法 になりますので、その「動く」という部分が面白さになっているわけです。
であるにもかかわらず、 受験勉強のようにパソコンにむかって必死に新しい事の記憶を繰り返す。
これでは面白さを感じることができず、挫折してしまいます。

アウトプットしよう!

アウトプットしよう!

プログラミング学習が他の勉強と違う部分は、 知識をインプットするだけでなく、アウトプットしなければならないという事にあります。
例えば英語の勉強をするとき、単語や構文だけを学習するわけではありませんよね。
実際に文章を書いてみたり英会話をしてみたりしてアウトプットをするはずです。

プログラミングも「言語」です。
コンピュータでも理解できるように使っている「外国語」のようなものです。
知識を学ぶだけでなく、きちんとアウトプットしてあげなければ面白くはありませんし、 本来の使い方ができていませんので、言語として身につける事もできません。
プログラミング学習においてインプットとアウトプットはセットなのです。

具体的にどうするの?

具体的にどうするの?

では、具体的にどうアウトプットするのかという事なのですが、 それは実際にプログラムを作ってみるということが一番でしょう。
簡単なもので構いません。

「if文」を勉強したのであれば、 「if文」を用いた条件分岐を行うプログラムを作成してみましょう。
「if文」と「for文」を勉強したのであれば、 これらを組み合わせてプログラミングを行えばより理解が深まっていくと思います。

みにプロで楽しくアウトプット

みにプロで楽しくアウトプット

「みにプロ」の「アクティブラーニング」は、 様々な「テーマ」と「カテゴリ」で構成されており、 「役に立つ知識」「豆知識」が身につくように構成されています。
コンテンツ数も数千個以上あり、 楽しみながらアウトプットを行うのに最適です。

「みにプロ e-Learning」の「アクティブエディター」
「みにプロ e-Learning」の「アクティブラーニング」
みにプロで歌って覚える

みにプロで歌って覚える

アウトプットは大切ですが、 そもそも知識がきちんとインプットできていなければアウトプットのしようがありません。
そこでインプットの仕方としておススメなのが、 「みにプロ e-Learning」の「ラップでプログラミング」動画です。

ラップでプログラミングなんて冗談だろ?と思われるかもしれませんが、 頭からCMソングが離れないなんてことありますよね?
韻とリズムによってあなたの脳は「わしづかみ」にされ、 覚えたくなくても、頭の中をぐるぐると歌が駆け巡ります。

「みにプロ e-Learning」の「アクティブエディター」
「みにプロ e-Learning」の「ラップでプログラミング」
虚無感に襲われる

虚無感に襲われる

味気のないコンソール
味気のないコンソール

環境構築が何とか終了し、エディターに向かってプログラミングをしていきます。
しかし、プログラミングをおこなっていくにつれて虚無感に襲われるようになります。

それもそのはず。
ディスプレイ上にはエディターの「黒い画面」と「文字」「数字」「記号」のみ。
無味乾燥な画面の中コードを入力していくだけで、面白みは少ないです。
ふと、「これ、なんの役に立つの?」といったような思いで一杯になり、 飽きて挫折してしまう人もいるでしょう。

ブラウザとサーバーサイド

ブラウザとサーバーサイド

ブラウザとサーバーサイド

Webシステムは「HTML」や「JavaScript」で作られたブラウザ側と、 Java言語でプログラムされた「サーバーサイド」があります。
「ブラウザ」側のプログラミングは、プログラムの記述がそのまま画面に適用されるため、 プログラミングをしながら画面の変化を見ることができます。

一方「サーバーサイド」側は処理を記述するだけのプログラムになるため、 どうしても黒いコンソール画面の出力結果にしか変化が現れず、 無味乾燥に感じてしまいます。

飽きない学び方をしよう!

飽きない学び方をしよう!

「サーバーサイド」の処理を行う「Java」のような言語を学習する際は どうしても無機質な画面が多くなってしまいます。
挿絵のない本が、本を普段読まない人にとっては億劫であるのと同じです。

慣れないうちは動きや色のある教材を選んで学習してみると、 飽きが少ないかもしれません。
みにプロでは「ブラウザ」と「サーバーサイド」がワンパックで提供されているため、 「入力」や「出力」の結果がカラフルな画面に表示されるため、 コードがどのように処理され、画面に出力されているのかという動きが見えるため、 「喜び」と「感動」を感じることができます。

エラーが解決できない

エラーが解決できない

エラーが解決できない

これが独学においての一番大きな壁と言えるかもしれません。
プログラミングをするうえでエラーは切り離せない存在です。
エラーを見ない日はないといってもいいでしょう。

「エラー」とはプログラムに予想外の事態が起きているという事で、 このエラーを取り除かなければプログラムを正常に動かす事はできません。
そして、このエラーを解決することが初心者にとっては難しいのです。

エラーが起きた!

エラーが起きた!

では、エラーが発生したとします。
プログラムを正常に動作するためには、このエラーを解決しなければなりません。

一言にエラーを解決するといっても、

  • ①まず、エラーが起きている場所を特定する

  • ②エラーが起きている原因を見つける

  • ③どうすればエラーが修正できるのかを考える

  • ④実際にコードを修正してエラーが起きないかを確認する

というような複数のステップが必要になります。

仮にステップ①のエラーが起きている場所が特定できたとしても、 今度はエラーが起きている原因を探さなければなりません。
エラーが出た際は多くの場合エラーメッセージが表示されるのですが、 このエラーメッセージは基本的には英語で、 プログラミング用語を使って出力されているため、 エラーメッセージを紐解くだけでも一苦労になります。

こうして苦労をしながらエラーの原因を探し当てたとしても、 今度は修正する方法を探し出さなければなりません。
そしてその方法も必ずしも合っているというわけではないのです。

どうやってエラーを解決するのか

どうやってエラーを解決するのか

一番基本的なエラーの解決の仕方は、エラーメッセージを調べることです。
エラーメッセージには、どこでどのようなエラーが起きているのかが書いてあるため、 エラー名で調べれば、似たようなエラーの解決方法が出てきたりします。

ただし、この方法はエラーの解決に慣れている経験者だからできることです。
そもそも初心者はエラーメッセージの見方がわかりません。
また、調べてエラーメッセージが読めるようになったとしても、 複雑なエラーの場合、これだけでは解決しないことがよくあります。
ですので、多くの初心者はここで質問がしたくなります。

スクールに通っている人や近くにプログラミング経験者がいる場合は良いのですが、 独学ですと、これが中々難しいわけです。

質問ができる環境を用意しよう

質問ができる環境を用意しよう

みにプロ e-Learning」には「アクティブトレーニング」

一人で悩んで1時間、2時間調べても解決しないなんてことはよくあります。
現場で働いている現役プログラマーでさえ他の人に質問に行きます。
そう考えると初心者で質問ができないという事は相当のディスアドバンテージになります。

勉強の効率化という面からみても、質問ができる環境というものは重要です。
スクールや一部のeラーニング教材では質問が可能となっていますので、 少し自分のやる気と照らし合わせて検討してみましょう。
例えばみにプロには、 わからないことを掲示板で質問することができる「掲示板機能」があります。

モチベーションが続かない

モチベーションが続かない

エラーが解決できない、人に聞けない、環境構築ができない、 などと躓きが続いてしまうとどうしてもモチベーションは低下してしまいます。
スクールに通っている場合はお金を払っているわけですし、 一緒に勉強する人もいるためモチベーション自体が低下しにくいと思いますが、 独学は常に自分との戦いになるためどうしてもモチベーションの維持は難しいです。

独学は受験勉強でいうならば自宅浪人しているようなものです。
それ相応の覚悟がなければ成功はありません。
では、どのようにしてモチベーションを維持すればよいのでしょうか?

目的を明確にしよう!

目的を明確にしよう!

みにプロ e-Learning」には「アクティブトレーニング」

大切な事は自分が何になりたくて、 何をしたくてプログラミングを勉強したいと思っているのかです。
「おもしろいから」「お金持ちになりたいから」「今の職業から転職したいから」 「ゲームが作りたいから」など理由は何でも構いません。
目的をはっきりさせることで、やるべきこと「目標」が定まります。

今の職業から転職したいのであれば仕事の多い「Java」の習得、 ゲームが作りたいのであれば、「C#」や「Unity」の習得、 おもしろいのであれば具体的に自分が面白いと思うアプリを考えて 「実際に何か作ってみる」という事が目標になります。

あくまでプログラミング学習は目標を達成するための「手段」になります。
何がしたいのかを明らかにすれば学習する意義、やる気が生まれると思います。

まとめ

まとめ

いかがでしたか?
「環境構築」「インプットとアウトプット」「飽き」「エラー」「モチベーション」のような 様々な挫折点があったと思います。
独学で勉強をするという事は、ローコストであり、手っ取り早い代わりに、 常に自分一人で解決しなければならないという事でもあります。
自分の目的、目標を定め、自分のゴールを明確にしたうえで、 自分は独学で勉強できそうなのかどうか考えてみてください。
もし独学では難しそうな場合は、各種eラーニングやスクールを活用してみてください。

こちらの記事もおすすめ

こちらの記事もおすすめ

みにプロ無料会員登録

サイトマップ