プログラミングを学習したい気持ちはあるけど、自分は何をどうやって学習したらいいのか分からない・・・。
初めてプログラミングを学ぼうと思った時に、この悩みにぶつかる壁が「学習方法」ではないでしょうか?
今回は、プログラミングの学習方法をテーマにそのお悩みを解決したいと思います!
プログラミングを効率的に学習する方法を紹介!
プログラミングを学んだスキルを仕事に生かしたい!プログラミング面白そうだから趣味でやってみようかな!ビジネスマンもプログラミングの知識が必要って聞いたからやってみよう!
っとプログラミングを学習する「目的」は人それぞれ違うと思いますが、誰も同じなのが「効率的」に学習したいと思いませんか?
私は思います。なぜなら出来るだけ「ムダだったな」と思う時間を消費したくないからです。
「効率的」とは、あることに対して使ったもの(労力や金額)と得られた結果の比率を大きくすることになります。
では、プログラミングの学習に置き換えた場合、「あること=目標設定」に対して「使ったもの=学習における時間やお金」と「得られた結果=成果」の比率を大きくすることという感じになると思います。
では、「目標設定」を「WEB制作のプログラミングスキルの習得」とした場合、以下の(Aさん)と(Bさん)のパターンではどちらが「効率的」と考えますか?
(Aさん)プログラミング書籍を、2万円分支払い5ヵ月の学習期間(1日3時間/150日)で習得する。
(Bさん)プログラミングスクールで、15万円支払い2ヵ月の学習期間(1日7.5時間/60日)で習得する。
分かりやすくするため、総学習時間と習得するプログラミングスキルは同じ設定にしております。2つのパターンの相違点は、「方法(どうやって)」と「金額(いくらで)」と「1日の学習時間(どのぐらい)」が違います。
相違点を比較した場合、大きな金額を支払っているけど短期間で習得した(Bさん)が効率的に見えますが、人にフォーカスを当てて(Aさん)はすでに就職していて(Bさん)は無職だった場合はどうでしょうか?
後だしみたいな感じでしたが、現実は誰もが同じ学習時間を確保できるとは限らないので、(Aさん)にとっては、効率的な学習方法になっているかもしれません。
ではもう一つ、「習得する期限」を「3カ月後まで」とした場合はどうでしょうか?(Aさん)の場合は、5か月かかる見込みなので、プログラミング書籍による学習方法では達成できません。(Bさん)の学習方法が効率的と言えるかもしれません。
ということは、「目標設定」「期限(期間)」「お金」「1日学習時間」「方法」のそれぞれのバランスによって、「効率的」に学習する方法が違うということになります。
- 目標(ゴール)設定は知見を広げるためなのか、就職のためなのか決める
- その目標設定をいつまでに達成するか期限を決める
- 学習にいくらまでお金を支払うことができるかを決める
- 1日の学習できる時間を決める
- 学習する方法をどうするか決める
1~4のポイントを設定することで、5番目のポイントの「学習する方法」は必然と絞れてきます。
がっつり決めるというスタンスではなく、自分の素直な気持ちにや現状がどうなのかをまとめてもらい仮設定をして、プログラミングの学習する方法(パターン)を見ていただければと思います。
プログラミングの学習するパターン
プログラミングの学習をするにあたって、いくつか方法がありますが、大きく分けて以下の3つに分かれると思います。
- プログラミングオンライン学習サイト(独学)
- プログラミングの書籍(独学)
- プログラミングスクール(オンライン)
- (番外編)プログラマーやエンジニアから教授
それでは、見ていきましょう。
プログラミングオンライン学習サイト(独学)
プログラミングオンライン学習サイト(独学)で学んでいくパターンのメリットは以下になります。
私の経験談でずが初めてプログラミングを学習し始めたのが、2018年で様々なプログラミングオンライン学習サイトがあり、独学で学習する環境は整っていました。
1番の決め手は、「無料」で始めれることです。
私の場合は、前職は小さな店舗の店長を経験させていただいており、全く違う業種で数十年仕事をしており、年齢も既に34歳でした。
家族もおり、年齢的にも色々問われる時期で、業界を変えるなら中途半端なことは出来ないし、やっぱりダメだったと簡単にあきらめるとかできる状況でありませんでした。
必ずやり遂げるという覚悟で学習を始めましたが、やはり自分が果たしてプログラミングができるのかどうかを、まずは見極めたいがお金が潤沢にあったわけではないので、まず基本的なことを学べる方法がないかを調べたところ、無料で始めれるプログラミングオンライン学習サイトを使った独学で学習を始めました。
今回ご紹介するプログラミングオンライン学習サイトは、経験談をもとにご説明します。
ドットインストール
特徴 | 3分の動画の教材を見なが学習するスタイル |
学習言語 | HTML、CSS、JavaScript、Ruby、PHP Python、C#、Java、Swift、Kotlin 、etc |
おすすめ度 | ★★★★☆ |
有料会員 | プレミアム会員 月/1,000円 |
ドットインストールは、3分動画でマスターする初心者向けプログラミング学習サイトで、HTML、CSS、JavaScriptや、PHPやRubyによる本格的なウェブサービス、iPhoneアプリやAndroidアプリの作り方などを幅広く学ぶこともできます。
動画は、説明や解説している方がとても丁寧で分かりやすい言葉で話してくれるので、人から教わる感覚で学べるため、無理なく理解しながら進めることができると思います。
無料会員ではすべての動画を見れませんが、 「はじめてのHTML」「はじめてのCSS」「はじめてのJavaScript」の3つは、執筆の時点でプレミアム会員サービスのサンプルを公開されているので、ひと通り学習できます。
また、WEB制作やアプリ開発を行う実践動画のコースがあり、実際の開発の進め方に近い状況で学びべるのは、プログラミングでの制作過程の全体がイメージしやすいです。
ただし、動画で見ながらパソコン上で同じ操作するためのテキストエディタを導入し開発環境の構築が必要となるため、学習開始まで少しだけハードルを高く感じる方もおられるかもしれません。
paizaラーニング
特徴 | 環境構築不要で3分の動画を見なが学習するスタイル |
学習言語 | C、C#、HTML、Java、JavaScript、SQL PHP、Python3、Ruby、シェルコマンド 、etc |
おすすめ度 | ★★★★☆ |
有料会員 | プレミアム会員 月/600円※12カ月プランの場合 |
paizaラーニングは、ドットインストールと同様に動画の教材を見ながら学習を進めスキルアップできるプログラミング入門学習サイトで、組み込み系と言われる、C、C#や、WEBの基礎になるHTML、CSS、JavaScriptなどこちらもあらゆる言語を学習できます。
動画コンテンツ教材という点では、ドットインストールと同じですが、実行環境構築は不要でブラウザ上でプログラミング言語を実行できるので、誰でもすぐに学習を始められるのはうれしいポイントです。
動画の中で説明をしてくれる声が、キャラクター設定で本格的な声優さんを起用したり、ちょっとしたゲーム感覚で取り組みたいと思われる方には向いているかと思います。
動画講座も「目的別」、「言語別」、「技術別」と用途に応じて整理されているため、初心者にも何べばいいか迷子にならないように分かりやすいです。
動画教材としての唯一の難点が、学習を進めていくうちに「あれ?これなんだったっけ?」と一部分だけ見直したい思った時に、どの動画コースのどのチャプターの何分ぐらいだったか分からないと、探して見つける動作の時間のロスが発生しやすいことです。
Progate(プロゲート)
特徴 | 紙の本よりも直感的なスライド学習スタイル |
学習言語 | HTML、CSS、JavaScript、jQuery、Ruby Ruby on Rails5、PHP、Java、Python、Go、etc |
おすすめ度 | ★★★★☆ |
有料会員 | プラス会員 月/980円 |
Progate(プロゲート)は、イラスト中心のスライドで学ぶ初心者入門向けの学習サイトです。ホームページ作成のHTML、CSS、JavaScript、jQueryや、WEBアプリケーション開発のRuby、PHP、Pythonなど幅広く学ぶことができます。
動画を見ながら進める方法とは違い、「スライド学習」を採用した学習スタイルで、ブラウザ上で1画面で内容を見てコード入力ができるので、自分のペースで学習できることや、復習しやすいことが学習を進めやすいポイントになります。
無料会員であれば、どの学習コースも基本的なことを学ぶことができるため、いずれかの言語を試しで始めてからより深く学習していきたい思った時に、プラス会員でしっかり学習することができます。
それでも多くのプログラミング言語があるので、自分がどの言語を学習すればいいか分からない人向けに「Web開発パス」のコースが用意されており、Web開発に必要なことを手順に取り組むことで最短距離で学習することができるので迷わず始めれると思います。
ですが、Webサイト制作やWebアプリケーション開発に特化したプログラミング学習サイトになるため、iPhoneやAndroid向けのアプリ開発や、組み込み系言語などのコースが存在しないため、これらの学習を目的の人には別の学習サイトを利用するしかないです。
- オンライン環境下でパソコンを使うことができる。
- プログラミング学習が初めてで、まずは気軽に取り掛かりたい。
- 1日の学習時間やお金を消費するのが難しい。
- 知見を広げるためにコツコツ取り組みたい。
- 1人でも、学習を継続することができる。
プログラミングの書籍(独学)
次に、プログラミングの書籍(独学)で学んでいくパターンのメリットは以下になります。
書籍はそのプロの方が監修しているため、信頼性や信ぴょう性は確かなものですので、安心して書籍の内容に沿って学習することができます。
インターネットが普及したこの時代、個が発信できるコンテンツが世の中にあふれかえっているその中から、目的の情報を見つけるのは初心者にとってはとても大変な労力がかかり、場合によっては見つけれずに時間だけが過ぎていく・・・ということもしばしばあるでしょう。
そういう視点からで言うと書籍は、タイトル通りの内容で作られているされているので、順に沿って学習していくことで効果的に進めれ、目次があるので部分的に確認したいなども簡単にできると思います。
また、書籍の種類も「初級者」や「中級者」、「上級者」向けなど、ステップアップ学習が取り入れやすい点や、逆引きリファレンスのような目的別で探すことができる書籍もあるので、用途に合った書籍を手元ですぐ見れるのは便利だと思います。
でずが、私の経験談ですと本屋さんで書籍を見ることはあっても実際に書籍を購入して手元に用意したことはありません。
なぜかというと私の学習スタイルとして、学習(インプット)した内容をその場で直ぐにコードで書く(アウトプット)一連流れが何よりも確実に身につきやすかったことと、インターネットでの見つけたソースコードをコピーペーストでコードを書くこともしばしあり、本の書かれているのを手入力する進め方は効率が悪かったためです。
これは個人差によるものなので、プログラミングの書籍を使った学習がベストな人もいるかと思います。ご自身の学習スタイルが、どれ良いかは一通りイメージやまた実際にやってみることで見えてくると思います。
- いつでもどこでも、本を読んで学習を進めたい。
- プログラミング学習が初めてで、まずは気軽に取り掛かりたい。
- 1日の学習時間や多くのお金を消費するのが難しい。
- 知見を広げるためにコツコツ取り組みたい。
- 1人でも、学習を継続することができる。
プログラミングスクール(オンライン)
その次は、プログラミングスクール(オンライン)で学んでいくパターンのメリットは以下になります。
プログラミングスクールは、全国各地にある中の最寄りの教室に通って授業や講義を受けながら学んでいく「通学」と、自宅でもどこでも好きなところでいつでも学習していく「オンライン」と大きく分かれます。
今回は、「オンライン」にスポットを当てて紹介したいと思います。
プログラミングスクール(オンライン)の場合は、プログラミング学習サイトと共通している点として、自分のタイミングで場所や時間を選ばず学習を進めることができます。
プログラミング言語を勉強するという学び方ではなく、WEB開発や制作する事を目標にした学習カリキュラムとなっており、その順に沿って体系的に進めれることで、基礎から応用まで現場で通用するスキルを習得できるようになっています。
また、挫折しやすいといわれるプログラミング学習において、解決できないことや分からないことがあれば、チャットなどで質問してサポートしてもらえたり、講師とのマンツーマンで学習進捗の経過やプロの現場のことなど色々お話しすることもでき、モチベーションを維持することができます。
今回ご紹介するプログラミングスクールは、経験談をもとにご説明します。
Tech Academy(テックアカデミー)
Tech Academy(デックアカデミー)は、大手のオンライン完結型プログラミングスクールです。
その他では「CodeCamp(コードキャンプ)」や「侍エンジニア塾」などがあります。
まず、私が受講したTech Academyの「PHP + Laravel コース」に近い同等のコースで、よく比較される2社を基本項目で表にしたのが以下になります。
スクール名 | Tech Academy | CodeCamp | 侍エンジニア塾 |
学習形式 | 自習+チャットサポート +マンツーマンレッスン | 自習+チャットサポート +マンツーマンレッスン | チャットサポート +専属マンツーマン指導 |
メンター | 現役エンジニア | 現役エンジニア | 現役エンジニア |
レッスン | 週2回(30分) | 無制限 | 週1回(60分) |
チャット サポート | 15時~23時 | 7時~23時40分 | 8時~22時 |
コース | PHP+Laravelコース | Webマスターコース | オーダーメイド |
オリジナル 開発支援 | 〇 | 〇 | 〇 |
受講後の 教材閲覧 | 〇 | 〇 | × |
無料体験 | あり | あり | あり |
就職転職の サポート | あり | あり | あり |
入学金 (税別) | 0円 | 30,000円 | 29,800円 |
料金 (税別) | 149,000円 | 148,000円 | 168,000円 |
受講期間 | 4週間 | 2ヵ月 | 1か月 |
各スクールとも「就職転職のサポート」を行っているため、この業界に就職や転職しようと考えている方は、プログラミングスクールを通して学んで身に付けたスキルを武器に、就職して仕事を手にすることも可能になるようですが、「Tech Acadamy」では30歳以下という年齢に弾かれてしまい、私は対象にはなりませんでした。。。
プログラミング学習サイトや書籍など桁違いに、金額面が一気に跳ね上がりますが、本気で「プログラマー」や「エンジニア」を目指す方は、プログラミングスクールで学習することが効率的になると思います。
知見レベルの目的の方にはおすすめしません。
「Tech Acadamy」の受講体験に基づいたメリット・デメリットをご紹介します。
トータル的に、受講したことのメリットが大きいかったですが、受講後の自分のスキルとしての理想としていた到達地点は、直ぐにでも仕事としてあらゆる開発ができるレベルだったので、スクールでの学習内容を期待していましたが、基礎的は開発の学習+@ぐらいだったので、それについては期待をしていた分物足りなさを感じました。
受講を開始して、毎日朝9時から夜24時の15時間、休憩などは時折する程度ですがぶっ通しでやり続け、長時間集中して取り組める体質にはなったのは良かったかと思ってます。食べ放題じゃないですが、支払った金額の対価に対してより短期間で取得したかった気持ちは、功を奏したのかもしれませんね。
- 短期間でプログラミングスキルを身に付け、プログラマーやエンジニアの仕事をしたい。
- いつでもどこでも、オンライン環境で学習ができる。
- 1日の学習時間や多くのお金を消費ができる。
- プログラミング学習が初めてで、分からない時に助けてもらいたい。
- 1人で学習を継続する自信がない。
(番外編)現役プログラマーやエンジニアから教授
最後は、「番外編」としての位置付けにしているのは、なかなか自分の身近な人が現役のプログラマーやエンジニアの方がいないため、選択肢の一つとして該当しない方が多いと思われるのですが、これも一つとして有力な学習方法になります。
現役プログラマーやエンジニアから教授で学んでいくパターンのメリットは以下になります。
現役プログラマーやエンジニアの人も、今のあなたと同じでプログラミング経験は「ゼロ」からスタートしています。
学習過程での成功や失敗、この職種や仕事に必要な知識や情報収集方法などあらゆる「経験値」があるため、その経験をふまえて教えてもらえることで、自ら調べて答えにたどり着くまでにかかる時間を最小限に抑えることでムダな時間が減ります。
プログラミング学習中に発生するエラーや用語や仕組みの意味がよく分からない事は、とにかく頻繁に起こります。
対面やリモート、チャットなどを活用して直ぐに解決することで、どんどん学習が捗り効率は良くなると思います。分からないことをすぐに解決できる環境があることが、効率よく学習できるか大きなポイントになります。
ただし、現役プログラマーやエンジニアの全員が「学校の先生」ではないので、教えることが不得意な方から教えてもらうと返ってうまく学習が進まないことがあるので要注意しましょう。
- プログラミングスキルを身に付け、プログラマーやエンジニアの仕事をしたい。
- いつでもどこでも、オンライン環境で学習ができる。
- 1日の学習時間や多少のお金を消費ができる。
- プログラミング学習が初めてで、分からない時に助けてもらいたい。
- 1人で学習を継続する自信がない。
まとめ
プログラミングを効率的に学習する方法を紹介しましたがいかがでしたでしょうか?
一人一人プログラミング学習をする「目的」が違えば、同時に「目指すゴール」も変わり、あなた自身の現在の環境や学習スタイルなどによって効率的に学習する方法も変わってきます。
この記事を読んだことで、あなたの悩みを解決できていれば幸いです。