プログラミングのやり方が知りたい!初心者の学習方法は?

プログラミング学習を始めたいけれど、何を準備すれば良いのか分からない・・・。どのプログラミング言語を学べば良いのか分からない・・・。

プログラミング初心者・未経験の人は最初に必ずこういった壁にぶつかります。

こちらの記事では、プログラミング初心者(学生・大人)のためにプログラミング学習の流れ、プログラミングの学習方法などを詳しく紹介します。

初心者の人はぜひこちらの記事を参考にして下さいね。

【対象の読者】について

本記事の対象読者は、目的を明確にしている次のような方々です。

  • 転職志望の社会人:プログラマー/エンジニアに転職したい
  • 就活生       :就活でアピールする資格取得やスキルをつけておきたい
  • 大学生       :自分の成長になるインターン・アルバイトがしたい
  • 高校生       :ゲームやスマホアプリを作りたい
  • 社会人       :副業で稼げるようになる
  • 自営業       :自分の会社のサイト・Webサービスを作成したい
  • 起業家       :AI・機械学習の分野に関わりたい
  • ビジネスマン     :ITリテラシーを高める、ルーティングワークも削除できる
  • フリーランス      :案件が多く、食いっぱぐれしない
  • 主婦         :家事と両立して在宅ワークで仕事をしたい
  • 中高年者      :趣味で自分のアイデアを形にしたい

具体的な目標が思い浮かばない人も、モチベーションを保ち目標達成を管理するのに役立つので、何か1つ目標を作っておきましょう。

自分に必要なスキル・知識を洗い出し、何を学ぶべきかを考えてみてください。「なりたい自分」をイメージして、今のうちにゴールを設定しておきましょう。

初心者の学習方法とは

では実際には、どのような学習方法があるのでしょうか。現在では、プログラミングに関して、次のような学習方法が提供されています。

  • 書籍やネットなどを使って学習する
  • プログラミングの学習サービスを利用する
  • ワークショップに参加する
  • プログラミング関連のスクールに通う

れぞれの学習方法の特徴をまとめると下表のようになります。

<プログラミング学習方法の比較>表

 

書籍

学習サービス ワークショップ

スクール

学習環境 自分のみ オンラインコミュニティ 集団 集団または個別
理解度
 

進捗度

自分のペース

自分のペース

参加者が全員に

合わせる

個人の進捗に応じて調整可。集団の場合個別調整は困難
継続性
コスト
エリア どこでも どこでも 主に都市部 どこでも
対象者 中級~上級者 初級~中級 初級 初級~中級

どの方法が最良であるかは、最終的には実際に学習をする皆さんの好みや相性などによって決まる面も大きく、またそれぞれの学習方法にメリット・デメリットがあるので「絶対にこれがいい」と一概には言えません。

自分の性格やライフスタイル、予算などを総合的に勘案して学習方法を検討して下さい。



プログラミング初心者のオススメ学習方法

皆さんがプログラミングの初心者であるならば、つまずくことなく短い時間で効率的に成果を高めるために、次の流れで学習を進めることをお勧めします。

1. プログラミング学習サービスや教材アプリを利用する(無料/有料)

  

2. スクールに通う/ワークショップに参加する(任意)

  

3. 書籍やネットの情報などで学習する

ここでは、各段階について簡単に説明します。詳しくは別記事で個別に解説します。

STEP1.プログラミング学習サービスや教材アプリを利用する

プログラミング経験が全くない人に、最初に取り組んでほしいのは、ネット上で無料で利用できるプログラミング学習サービス、またはiPadやパソコンで利用できる教材アプリです。

これをうまく利用すれば流れに乗ってつまずくことなくプログラミングの基礎を習得できます。

ネット上の学習サイトや教材アプリを利用することのメリットは次の通りです。

  • 自宅にいながら、24時間、いつでも学習ができる
  • 多くのサービスを無料で利用できる(一部有料もある)
  • プログラミングの「設計」(論理的思考法や問題解決力)を学べる
  • 最新のプログラミング教育の研究結果が反映されている

逆にデメリットとしては

  • 疑問点の解決方法がない
  • いくつかのサービスは、英語での提供

ここで、プログラミング学習ができるおすすめサイト4つ紹介します。

1.ドットインストール

まずプログラミング初心者がチェックしてほしい学習サイトが「ドットインストール」です。ドットインストールは様々なプログラミング言語を動画で勉強することができる学習サイトです。

またドットインストールは無料会員と月額980円を払って加入できるプレミアム会員があります。

プレミアム会員の方が学べる言語が多く、また文字起こしテキスト・ソース子どがみられ、動画の音声の速度なども変えられるのでおすすめです。

サイト名 ドットインストール
サイトURL http://dotinstall.com/
カテゴリ 動画
対象レベル 初心者~上級者
利用料金 無料会員と月額980円のプレミアム会員
コース数 190(無料)/332(プレミアム)
言語 Androidアプリ / Bootstrap / C言語 / CakePHP / CoffeeScript / CSS / Git / HTML / iPhoneアプリ / Java / JavaScript / jQuery / MySQL / Perl / PostgreSQL / PHP / Python / Ruby / Ruby on Rails / Scratch / Swift / Unity / VBA / WordPress
備考 ユーザー参加の自習会も開催されます

2.Progate オンラインプログラム学習サービス

インターネット上でプログラミングを勉強できるサービスがProgateです。

スライドでこれから学習する内容を理解し、その後エディターが表示されるので実際に手を動かして学習することができます。初心者でも学びやすい学習環境が用意されていますので、初心者の方が手を動かして動作させる経験を掴むのに最適です。

またProgateはクラウドソーシング大手の「クラウドワークス」と提携しており、仕事の応募が可能です。また転職支援サービスの「レバテックキャリア」とも提携しており、サポートを得ることができます。

サイト名 Progate オンラインプログラム学習サービス
サイトURL https://prog-8.com/
カテゴリ WEBサイト
対象レベル 初心者~中級者
利用料金 無料会員と月額980円のプラス会員
コース数 16(無料)/66(プラス)
言語 CSS / HTML / JavaScript / jQuery / PHP / Ruby / Ruby on Rais
備考 Web版以外にiOSアプリ版あり

3.paiza動画ラーニング

プログラミングを学習してプログラマーとして転職、就職をしたい人におすすめなのが学習サイト「paiza動画ラーニング」です。

paiza動画ラーニングは動画でプログラミングを勉強しつつ、サイト内のクイズを解くことができます。そしてクイズを解くことによってIT企業からスカウトを貰うことができるのです。

paiza動画ラーニングではRuby、Python、PHPといった初心者でも勉強しやすく、また転職、就職に役立つ言語を学ぶことができます。

サイト名 paiza動画ラーニング
サイトURL https://paiza.jp/
カテゴリ Webサイト
対象レベル 初心者~上級者
利用料金 一部無料(月額880円で全て受講可能)
コース数 28
言語 HTML / CSS / JavaScript / jQuery / PHP / MySQL / Java / C言語 / Swift / Androidアプリ / iPhoneアプリ / WordPress
備考 Cloudの利用でブラウザを開くだけでどこからでも開発環境が整う

4.Schoo(スクー)

Schooではプログラミングだけでなく画像処理やマーケティングなど、Web業界で働く上で役に立つ講座が多数開講されています。

よくある動画で受講するタイプのサービスではありますが、授業が生放送であるという特徴があります。そのため第一線で活躍する講師とのリアルタイムでの質疑応答が可能となっており、学習サイトでは珍しく授業を受けている実感を得られるサイトです。

基本的に無料で受講できますが、無料である生放送を見逃した場合は、これまでの録画放送の全ての授業が受講可能となる月額980円のプレミアムサービス、さらに月額1980円のプレミアムサービスプラスも提供されている。

サイト名 Schoo
サイトURL https://schoo.jp/
カテゴリ ブラウザ上で動画閲覧
対象レベル 初心者~上級者
利用料金 無料、(プレミアム月額980円、プレミアムプラス1980円)
コース数 全授業動画 4300本
言語 JavaScript/PHP/Ruby/Java/iOS/Android/Ruby on Rails/Python/Swift/React/Xcode/MySQL/C#/VBA/サーバー関係/WEBデザイン/ビジネス/マーケティング/英語/教養・その他
備考 生放送ではリアルタイムで受講生と意見のやりとり・講師への質問が出来る

STEP2.スクールに通う/ワークショップに参加する(任意)

ネットの学習サービスや教材アプリである程度プログラミングの基礎や素養を習得出来たら、次のステップとして、スクールに通う、またはワークショップやキャンプ(集中的にプログラミング学習を行うイベント)に参加することをお勧めします。特徴としては

  • 有料のものがある(コストをかけたくない人には不向き)
  • 開催が都市部に多く、地方に少ないなど、地域格差がある
  • 時間コスト、移動コスト、などお金以外のコストもかかる

スクールでは、塾形式家庭教師形式(マンツーマン)のプログラミングスクールが増えてきています。

また、最近はオンラインスクールという形で好きな時間・場所でマンツーマンできる プログラミングスクールもあります。スクールやワークショップは、詳しい人から直接学ぶ貴重な機会であり、直接質問できる環境を持つことができます。

孤独な作業が辛い、と感じる人はプログラミングスクールに通ったり、プログラマー、エンジニア向けのイベントなどに参加したりし、自分と同じようにプログラミング学習をしている仲間をつくるのがおすすめです。

仲間と情報交換をしたりすることによって、モチベーションを維持することができます。

STEP3.書籍やネットの情報などで学習する

専門書を読みネットから必要な情報を探し出し知識を深めることで、より一層プログラミング・スキルを磨いていく段階です。

当然ですが、プログラミングは書籍を読んだだけで身につくことではありません。また、今は初心者でも始めやすい学習サイトが充実しているので、書籍を買わなくても勉強していくことはできるかと思います。

ただ、書籍はネット上よりも正確な情報が体系的にまとまっていることも多いため、最近では、学習サイトやオンライン実行サイト等と組み合わせて書籍を使って学習していくという方法がよいのではないかと思います。

プログラミング初心者向けの書籍は、開発言語ごとにたくさん発行されていますので、学びたい言語に合わせて選ぶ必要があります。

「どの言語を勉強したらいいか分からない!」
「そもそもプログラミングって何ができるの……?」

という段階の方は、まずプログラミング全体についての入門書を読んでみて、そちらでどの開発言語を学習するかを検討し、言語ごとの入門書に移るとよいかと思います。

プログラミング初心者はどの言語を選べばいい?

プログラミング言語の種類は8000種以上あると言われています。ただし、現実に多くのシステムや産業で広く使用されているプログラミング言語は20~30種類ほどです。

そのうち、どの言語を学ぶかは、その人の目的や興味によって異なります。仕事や研究で使うと決まっている場合は別にして、言語を選ぶ目安を紹介します。それらを参考にして、みなさん自身に合った言語を選定してください。

言語が使われている分野を知る

ソフトが動く場所は大きくサーバーとクライアント(サーバーの機能やデータを利用する側のコンピューターのこと)に分かれます。サーバーのソフトは、企業のITシステムとWebアプリに分かれます。

ITシステムは100%プロの世界ですから、趣味のプログラムとは関係ありません。メジャーなのは、Javaです。

一方、Webアプリはプロが作るものもありますが、クラウドなどのサービスを利用して個人で作っている人もいます。Webアプリを作るには、RubyPythonPHPといった言語がメジャーです。

クライアント側はJavaScriptを使うことがほとんどです。JavaScriptを使って動的なWebページを実現する術が「HTML5」です。

Web以外のいわゆる「アプリ」と呼ばれるものには、パソコンで動作するものとスマホ/タブレットで動作するものがあります。

パソコンやスマホのOSによって、使う言語はだいたい決まっています。Windowsのアプリを作りたいなら、C#Visual Basic(VB)を使うのが一般的です。ゲーム開発で主流のUnityC#もここに含まれます。

最重要なのは「好きになれるか」

一番重要なのは、「その言語で書いていて楽しいかどうか」です。どんなにメジャーな言語であっても、自分がその言語でプログラミングするのが楽しくなければ、決して長続きしません。

好きな言語であれば、多少の不利は乗り越えられます。例えば、LispやHaskellといった言語は、一般にはそれほど使われてはいません。しかし、「これでなければイヤだ」という熱狂的なファンがいます。実際にこうした言語でプログラミングの仕事をしている人もちゃんといます。

<ご参考> 初心者が最初に学ぶプログラミング言語の決め方

プログラミング初心者がつまずきやすいポイント

プログラミングを一から始める初心者にはレベルがあります。そのレベルを把握しておきましょう。

次のレベルが「変数を理解している」こと。変数は学校の数学の時間にも出てくるのでここでつまずく人はあまりいません。「条件分岐」すなわちif分も、だいたいの人は理解できるようです。日常生活でも「どちらかを選択する」という場面は頻繁にあるからでしょう。

最初のハードルになるのが「繰り返し処理」です。「条件を設定し、その条件下で処理を繰り返す」という概念は、すんなり理解できる人と理解できない人に大きく分かれます。これは慣れも大きいと思います。多くの繰り返し処理の例に触れていれば、そのうち感覚がつかめるでしょう。        

次のハードルが「配列」。要するに「データが並んだ構造」をイメージできるかどうかです。プログラミングでは、配列以外にもリストやスタックといったデータ構造をよく使います。こうした抽象的なデータ構造を把握する力は、オブジェクト指向プログラミングの理解にも必要になります。頑張って克服しましょう。

配列を理解できるくらいの力がつけば、コードをまとめる「関数」の理解はそれほど難しくないようです。



プログラミング初心者がしてはいけない!3つの学習方法

最後に、プログラミング初心者が陥りやすい間違った学習方法について説明をします。

いきなり書籍で学習すること

プログラミング技術を習得したいと思ったときに、いきなり入門書を買いに行って読み始めるのはオススメできません。

ほとんどと言っていいほど(必ずと言っても過言じゃないほど)つまずきます。そして、多くの場合そこで読むのをやめてしまいまい、挫折してしまいます。

ですので、私は学習サービスやスクールに通い、ある程度の知識を習得した後に、書籍で学習することをおすすめします。

◇挫折しないために、Webサービスでメンターを見つける

メンター(mentor)とはプログラミング学習において自分が学びたい言語に対しての知見を持つ先生のような存在のひとのことです。

未経験者が独学でプログラミング学習を始めた場合に、ほとんどと言っていいほど(必ずと言っても過言じゃないほど)躓きます。その障害を取り払ってくれるメンター(指導役)の存在は非常に大きなものになります。

よいメンターを見つけることによって、挫折するリスクから逃れることができるのです。

身近によく知っている人が存在したり、ワークショップの仲間で問題解決できればその方法でもいいと思います。しかし、スクールなどを利用していない独学の方がメンターを見つける方法は、ココナラやタイムチケットのようなソーシャルでメンターとマッチングできるサービスを利用することです。

メリットとしては時給制で請け負うことが多いため、スクールよりも費用が安くなることにあります。

デメリットは、スクールではなく個人が家庭教師のような立ち位置で指導にあたるため、十分な教材や指導内容が煮詰められていないケースがあります。

いくつか利用できるサイトを紹介します。

いきなり難易度の高い言語を学習すること

プログラミング学習において、仕事や研究で使うと決まっていない限り、難易度の高い言語で学習を始めるべきではありません。

難易度の高い言語とは、C言語やJava 等のことで、初心者にはおすすめできません。最初に試して頂きたいオススメ言語は、RubyやJavaScript、Pythonなどの言語です。

プログラミングを暗記しないこと

よくあるプログラマーへの誤解の一つに、構文などを暗記していてスラスラと記述しているということです。

学習したことを「再利用可能な状態」にしておくことは重要ですが、全てを自分の頭に記憶しておく必要はありません。

よく使うものは自然と覚えていくので、あえて記憶せずにメモなどに残しておくぐらいで、無駄な努力をする必要はありません。



まとめ

プログラミングは、どんなに授業を受けたり本を読んだりしても、実際に自分で手を動かしてコードを書かないと習得できないスキルです。インプットしたら積極的にアウトプットしてみましょう。

ただ、学習方法については「独学で自分のペースで進めたい」「スクールで講師に教わりたい」「コストをかけたくない」「コストをかけても効率的にやりたい」など、人によって合う・合わないがあります。

目的も、「未経験からエンジニアとして実務で通用するレベルになりたい」「作りたいモノがある」「趣味としてちょっと触ってみたい」など、人それぞれです。どれが正しい、正しくないというものではありません。

自分の目的とペースに合った学習方法を見つけて、ぜひプログラミングの第一歩を踏み出してみてください!

シェアする

  • このエントリーをはてなブックマークに追加