STEP1:プログラミングの学習方法

プログラミングを独学で学習する方法について解説

プログラミングを独学で学習したいけど良い方法はないかな?

この記事では、プログラミングの独学の方法を解説します。

プログラミング完全初心者に対応

プログラミングを独学することとは

ここでは、プログラミングを独学するというのはどういうことなのか解説します。
「プログラミングは独学するものだ!」と言う人も多い印象です。

その辺を解説していきます。

プログラミングの学習の方法は以下になります。

・プログラミングスクールに通う
・独学
・大学・大学院に通う
・会社で働く、研修を受ける(OJTなど)

プログラミングが全く分からない人にとって、どこから手をつけて良いのか分からないのではないでしょうか?

良くあるプログラミングを学ぶきっかけの一例は以下です。

  • 学校系(プログラミング授業など)
  • プログラミング教室
  • 仕事で必要に迫られて(就職、異動、転職など)

ちなみに私は、市が開催するプログラミング教室(パソコン教室だったような・・・)でした。
絵を書いたり、BASICというプログラミング言語でゲームを作るような内容だった気がします。

フロッピーディスクにデータを持ち帰った記憶があります。

周りのエンジニアにエンジニアになったきっかけを聞くと、小学生から中学生の間にパソコン教室やプログラミング体験したことのある人が多いです。

その体験の後、興味の湧いた人は色々調べてみたり、理系の学校に進学することになります。
また、仕事で必要に迫られるケースは、就職と異動であれば誰かに聞くことができます。

つまり、何が言いたいのかと、プログラミング学習は大抵の場合「無からのスタートではない」ということです。
完全に知識やイメージ0から独学して、プログラミングを学ぶのは大変ということです。

独学するために必要な要素

エンジニアは基本的に独学しています。
全く独学していないというケースはあまりないと思います。

学び続けないと取り残される分野だからです。

一方で、研修を受ける機会があったりするので、完全に独学ではないことも多いです。

ただ、初心者の人が完全に独学というのは結構ハードルが高いです。
というのも、初めに説明したようにエンジニアもスタート地点は独学でないケースは多々あります。

ベースの知識があって独学しています。
ですので、以下に当てはまる人はプログラミングスクールに通ったり、ITスキルの向上から始めたほうが良いでしょう。

  • PCの扱いが苦手
  • 理系の高校・大学・大学院ではない

独学するには

前章までは、プログラミングの独学をすることについて解説してきました。
全くの0からスタートは止めたほうが良いとも言いましたが、

そうは言っても、プログラミング学べる環境が無いからなぁ・・・

そうはいってもという話はあると思います。

この章では完全初心者でも独学できる方法を解説します。
ただし、PCを扱う基本的な知識は持ち合わせているというのを前提とします。

目標を設定する

通常、プログラミングを学びたい理由があるはずですので、目標を設定しましょう。
終わりが無い世界なので、闇雲に勉強しても徒労に終わることも多いです。

目標の例は以下となります。

  • 就職して現場で働けるくらい能力をつける
  • スマホアプリを作れるようになる
  • etc

「就職して現場で働けるくらい能力をつける」なら、Code Completeを読んで実践的なプログラミングを学ぶ必要があるでしょう。

IT関連に疎い場合はプログラミング教材を使用する

コンピュータの知識があまりないとか、IT関連に疎い人はプログラミング教材を使用したほうが良いでしょう。

直感的に分かりやすいので、何をしているのかが理解しやすいです。
例えば、ロボット系であれば「speed(10)をspeed(20)に変えたら、速度が早くなった」などです。

一方で、プログラミング言語をいきなり学び始めると、挫折する可能性が高いです。
抽象的な概念が出てきたり、プログラムを実行しても表示が出なかったりするためです。

プログラミング言語は1つ習得する

60点レベルでも良いので、プログラミング言語は1つ習得しましょう。
プロダクト重視で作りながら学ぶというスタンスも悪くはないですが、基礎を叩き込んだほうが後々応用が効くので良いと思います。。

おすすめの言語は以下です。

  • C言語
  • Python

賛否両論ありますが、C言語が良いかなと思います。
ライブラリがそこまで多くなく、基本的な概念がほとんどなので終わりが見えやすいです。

一方で、新しい言語に含まれている機能はあまりないので、C言語に慣れてしまうとどうかなという感じはあります。

ゴリゴリにコードを書いていくスタイルを身に着けてしまうと、効率が悪い書き方を覚えてしまう可能性はあります。

なお、ソフトウェアエンジニアとしてトップに登っていくのであれば、C言語は学ぶ必要はあります。
コンパイラ、OSなどを理解するのに必要になるためです。

Pythonは分かりやすいのでオススメです。
最近の機能は含まれているので、自然な感じで学べると思います。

勉強法

1つ目は勉強スタイルで良いです。

  • 本を読む
  • プログラミング言語を解説したサイトを見る
  • 動画で学ぶ
  • 例題を解く(コードを書いて、実行する)

1つ目のプログラミング言語は書籍を購入した方が良いかなと思います。
何度も参照することになるので、手に持っておいた方が良いでしょう。

2つ目以降は、言語によってというところでしょうか。

技術系の本は高い傾向があるので、何でもかんでも本を購入するのは得策ではない場合があります。

無料で独学するなら、プログラミング言語を解説したサイトを参照して勉強するのが良いでしょう。

あと、ある程度は中身を忘れても問題ないので、必ず実機でコードを書きましょう。
本を読むだけで身につくことはまず無いです。

難しい例題もあるので、良く分からない場合は答え見たほうが良いです。
知らないと解けないものは多いです。

経験の要素は大きくて、コンパイルエラーとか理解できないと将来的に詰みます。
机上だけで上手く運ぶことはあまり無いです。

プロダクトを作る

プログラミング言語を1つ学んだら、実践していきましょう。
多分、違うプログラミング言語になると思います。

また、実際やり始めるとコーディングだけではないということに気づくと思います。
様々な実行環境やツールを利用して、プロダクトを作っていくことになります。

トライ・アンド・エラーを繰り返すことになります。
これは、どんなに優秀になってもずっと続きます。

常に、やってみないと分からないことがあるためです。

実際にプロダクトを作りたい場合、Webサイト、サービス辺りが良いでしょう。
割りと簡単な部類です。

難易度が高いプロダクトもあるので、注意が必要です。

スマホアプリ

AndroidかiOSで仕様が異なるので、両方学ぶのは厳しいです。

プログラムからAndroidやiOSの機能を利用するのですが、その使い方を理解するのが非常に大変です。

独学のコツ

最後に独学する際のコツを解説していきます。

実行結果がすぐに確認できるお題目を選ぶ

プログラミングの処理は実行しないと、正しく動作しているかどうかが分かりません。
実行結果が目に見えるお題を選ぶのが大切です。

例えばゲームを作る場合、デバッグ機能が標準装備されているゲームエンジンを選択するといったことです。

デバッグ機能がないと、表示部分を実装したり、ログの出力機能を作らないと処理が正しく動作しているのか分かりません。

そもそも、表示部分やログの出力機能でつまずく可能性は大です。

結果がすぐに確認できるのは非常に重要です。

まとめ

独学について解説しました。

-STEP1:プログラミングの学習方法