こんにちは!
都内の消費財メーカーでデータサイエンティスト兼Webマーケターをやってるウマたん(@statistics1012)です!
プログラミング言語は、C言語・Java・SQL・Python・R・JavaScript・HTML・CSS・Rubyなどを学んできました。
※厳密にはSQL/HTML/CSSはプログラミング言語ではありません
大学時代から色んな勉強方法で色んなプログラミング言語をかじってきているのですが、今振り返ると無駄もあったし、もう少し勉強の順番を考えるべきだったなと思います。
そこでこの記事では、プログラミングをどのように勉強していけばよいか順序立てて方法をまとめていきます!
プログラミング勉強の王道の順番
まずは、プログラミングを勉強する上での王道の順番を見ていきましょう!
この順番でプログラミングを勉強をしていけば挫折せずプログラミングを効率的に勉強できるかと思いますよー!
Step1:目標を決める
まずは、目標を決める!
実は、これが一番大事です。
なんとなーくプログラミングを勉強してみよう〜と思っても、結局長続きはしません。
この後なるべく挫折しにくいプログラミング言語勉強の順番を伝えていきますが、まずは全体の目標をある程度明確に持っておきましょう!
・何か新しいサービスを作る
・分析をする
・案件を獲得して稼ぐ
・エンジニアに転職する
粒度はバラバラで問題ないです。
この目標が、あなたのプログラミング学習のモチベーションを保ち続ける源泉になりますので、必ず目標を定めましょう!
Step2:HTML/CSSで簡単なWebサイトを作ってみる
プログラミングの勉強を継続する上で欠かせないのが、自分の作ったものがすぐに結果に出ること。
それを簡単に成し遂げるのがHTML/CSSなんです。
HTML/CSSは正確にはプログラミング言語ではありません。
HTMLはマークアップ言語、CSSはスタイルシート言語と呼ばれます。
ただHTML/CSSはプログラミング学習において必要不可欠。
あなたが普段見ているWebサイトは全てHTMLとCSSから出来ています。
そしてコードも分かりやすく理解しやすいため、最初の取っ掛かりとしては非常にオススメです。
HTMLとCSSについては以下の記事で勉強法をまとめていますので是非チェックしてみてください!
Step3:Javascriptで動きを作る
HTML/CSSを理解した後は、Javascriptに挑戦してみることをオススメします!
Javascriptを使うことでHTML/CSSなどで作ったWebサイトに動きを作ることが出来ます。
Javascriptも実際にコーディングした結果が分かりやすく形になって返ってくるので継続して勉強しやすいです。
HTML/CSS/Javascriptを一通りマスターすれば基本的なWebサイトは作ることができるようになりますよ!
HTML/CSS/Javascriptを学ぶ上ではディベロッパーツールというChromeブラウザのツールを利用できるようにしておきましょう!
どんなページでも良いので右クリックを押して「検証」という部分を押してみてください。以下のような画面が出てくると思います。
この画面を基に簡単なフロントエンド技術を駆使して様々な検証を行うことが可能です。
ElementsというところからWebサイトの構造を確かめることができます。
ちなみにCtrl+Shift+Iでもディベロッパーツールが出てくるのでそちらも覚えておくとよいでしょう!
実は、Javascriptはこれだけではなく色んなことができます。
サーバーサイド言語としても使えますし、広告やアクセス解析のトラッキングに使うことも多いです。
Javascriptを理解しておくと非常に応用が効くのでオススメです!
Javascriptを学ぶのにおすすめプログラミングスクールやUdemy講座は以下の記事でまとめています!
Javascriptの勉強は以下の記事を参考にしてみてください!
Step4:Webアプリケーションを作りたいならPHP/Ruby/Pythonを学ぶ
HTML/CSS/Javascriptでは、基本的にユーザーに見える部分(クライアントサイド)の処理を記述します。
しかしWebサイトに何かしらの情報をユーザーが打ち込んでそれを基に何かしらの処理を行うというユーザーに見えない部分(サーバーサイド)の処理も必要な場合がありますよね。
そのような処理を行う言語をサーバーサイド言語と呼び、サーバーサイドの処理を組み込んだプログラムをWebアプリケーションと呼びます。
サーバーサイド処理は基本的なWebサービスではどこかで使われており、もちろんこのサイトでもPHPが使われています。
HTML/CSS/Javascriptのクライアントサイドの言語を勉強した後は、サーバーサイド言語を勉強していきましょう!
サーバーサイド言語としてはPHP,Ruby,Pythonなどがあります。
ちなみにJavascriptもサーバーサイド言語として使えます。
個人的にはデータ分析などにも強いPythonがオススメですが、最もよく使われているのはPHPですし、Rubyも非常に人気です。
Pythonが学べるスクールは以下の記事で詳しくまとめています!
Step4’:データ分析をしたいならSQL/R/Pythonを学ぶ
ここまでは、Webサイト・Webサービスを作るプログラミング言語を紹介してきましたが、プログラミング言語の役割はそれだけではありません。
なんなら、この領域が僕の最も専門なのですが、データ分析にもプログラミング言語は利用されます。
僕自身、アカデミックではRを利用していて社会人になってからはPythonを使用することが多いです。
PythonとRの違いについては以下の記事で詳しくまとめていますので目を通してみてください!
ちなみにWebアプリケーションを作る際にも必要になってきますが、データ分析で欠かせないのがSQL!
データ分析屋さんは、様々なデータをSQLを利用することで引っ張ってきてそれを集計・加工します。
SQLも厳密にはプログラミング言語ではなくデータベース言語と呼ばれますが、プログラミング学習に欠かせない存在です。
SQLが学べるスクールは以下の記事でまとめています!
Step5:Linux・Git・Dockerについて学ぶ
人によっては順番が逆だろ!という人もいると思いますが、個人的には割と作れるものは作っちゃってプログラミングの楽しさを実感した方がよいと思っているのでこの順番にしています。
ただ本格的にプログラミングを使って開発を進めていく・チームで大きなプロジェクトを回していくとなると、LinuxやGitやDockerのスキルは必要になってくるのでステップアップのために学んでおきましょう!
Linux
「Linux(リナックス)」とは、Unixから派生したコンピュータに載せて動かす基本ソフト(OS)の一つです。
基本ソフト(OS)ではコンピューターのメモリーやディスクといったハードウェアを管理してプログラムといったソフトウェアの橋渡しをするものです。
パソコンやタブレット、スマホ、最新自動車・家電の中を操作するコンピュータは、Linux・Unixのような基本ソフトがないと動きません。
コンピュータのリソースを動かしてプログラムを実行するためには、基本ソフトを載せる必要があります。
その際、基本ソフトであるLinuxの知識を知っておけば、コンピュータを動かせるようになります!
プログラミングではターミナル上で様々な操作をすることが多いので、その際にLinuxを使えるようになっておくとサクサクと操作することができます!
Linuxの勉強法については以下に詳しくまとめていますのでチェックしてみてください!
Git
Gitはチーム開発する上で必須です。
Gitが分からないとバージョン管理ができずチームで生産的な開発ができません。
最初は戸惑うこともあると思いますが、エンジニアとして腕を上げてプログラミングを本格的にやっていくなら必ずできるようになっておきましょう!
Gitの勉強法については以下に詳しくまとめていますのでチェックしてみてください!
Docker
Dockerもチーム開発に嬉しいツールです。
プログラミングで挫折しがちなのが開発環境の整備なのですが、Dockerを使うと自分のPCとは別の仮想の環境に開発環境を作ることができ、他の人にも簡単に共有できます。
また、開発の際には開発環境・テスト環境・本番環境のように様々な環境で開発を進めることが多いのですが、それらの環境をDockerで管理することでスムーズに反映させることができます。
Dockerの勉強法については以下に詳しくまとめていますのでチェックしてみてください!
プログラミング勉強の方法
さて、ここまででプログラミング勉強の順番について見てきました!
これらの順番で勉強することでプログラミング学習を継続できるかと思います。
個人的にはC言語やJavaを最初に学んで失敗した人間なので、プログラミング言語の学ぶ順番は非常に重要だと思っています。
プログラミング言語を学ぶ順番が分かっても、プログラミング言語を学ぶ方法はいくつかあります。
ここでは、プログラミングを勉強する方法についていくつかピックアップして取り上げていきましょう!
プログラミングの本を読む
本からのインプットは、手っ取り早く始めることができ、かつ安く済みます。
しかし、冒頭でも述べた通り継続しない確率が高い。
特に図や絵のない文章ばかりの堅苦しい本は問題外!
分からなかったらそれを解消する手段がないので、頓挫しやすいです。
プログラミングを勉強する上で本は3つの役割に分かれると思います。
1つは概念的な超初級者向けの本。
「プログラミングを勉強したら何ができるようになるか~基本的なプログラミング」までを網羅した本。
2つ目はリファレンス用の本。
読み通すことを目的としているのではなく、必要な時に逆引きで調べられるような手元に置いておく本。
3つ目は読むことによってプログラミングが習得できるようになると謳った本。
圧倒的に多いのは3つ目ですが、それをいきなり購入して勉強しようとするのは間違い。
本に関しては1・2をメインに購入を検討すると良いと思います。
本は、プログラミング勉強への架け橋と、勉強を進める上での補助としての役割が向いています。
もし、3つ目を読破するなら、一人ではなかなか難しいです。よっぽどの天才か、よっぽどの熱量がないと無理。少なくとも僕は無理。
ちなみにR・Pythonに関してはオススメの本をこちらに挙げているので是非ご覧ください!
プログラミング学習サービスを使う
ネットには手軽に体験できるプログラミングサービスが多数存在します。
無料なものから有料なものまでありますが、動画などで説明してくれるので本より分かりやすく継続しやすいのが特徴的です。
また、レッスンごとに分かれているので、友達といつまでにここまでやろうと決めて一緒に進めていくとモチベーションも保ちやすく良いと思います。
これが意外と大事なんですよねー。
僕自身、大学院時代は研究室の同期と同じペースで進めるようにしてモチベーションを保っていました。
それではオススメのサービスを見ていきましょう!
Udemy
公式サイト:https://www.udemy.com/courses/search/
【価格】 | 1200円~(コース売り切り型) |
---|---|
【オススメ度】 |
Udemyは様々な専門知識が学べるプラットフォーム!
プログラミング言語を学ぶWebサービスとしてはUdemyが圧倒的にオススメです!
Udemyでは、好きな講座を売り切り価格で購入することができるので自分のレベルに合った講座だけをつまみ食いして勉強することが可能です!
また講座別の評価も明記してあるので、選びやすいです!
プログラミング学習をある程度自分で進めるなら書籍よりもUdemyがオススメ!
Udemyがどれだけオススメなのかについて以下の記事で熱量高く語っているので是非見てみてください!
また、Udemyのプログラミングおすすめ講座は以下の記事に詳しくまとめています!
プログラミングのUdemy講座を検討する時は参考にしてみてくださいね!
ドットインストール
【価格】 | 1080円/月(有料会員) |
---|---|
【オススメ度】 |
続いてこちらのドットインストール!
ドットインストールは、動画を見ながら学べるサイト。
動画で丁寧に教えてくれるので非常に分かりやすく初心者でもつまずかず勉強することができます。
無料で視聴できる動画も多数あり、十分無料でも勉強できます。
最初に無料ではじめて、もっと深く勉強したいなと感じたら有料プランに変えると良いでしょう!
動画で丁寧に教えてくれるので非常に分かりやすく入門者でもつまずかず勉強することができます。
無料会員で視聴できる動画も多数あるのですが、Pythonの講座は少なめ!
また、学べるのは本当に基本中の基本だけ。
ドットインストールについては以下の記事で詳しく解説しています!
PyQ
公式サイト:https://pyq.jp
【価格】 | 3040円/月~ |
---|---|
【オススメ度】 |
PyQはPythonに特化したサービスです。
完全オンライン学習サービスで、定額制で全ての講座を受講することができます。
実際に手を動かすことをかなり重視しているので、楽しくモチベーションを保ちながら進めることが可能です。
インターフェイスが使いやすくてサクサク進められます。
プランはプロに質問ができて過去の質問も閲覧できるスタンダードプランと講座の受講だけできるライトプランがあります。
不安ならスタンダードプランをオススメしますが、ライトプランでも問題なく進められます。
Pythonの勉強してる時いろんな書籍とかProgateとか試したけど、PyQが一番よかったなぁと思う。料金もそんなに高くないし。最短で学びたいならPyQがオススメ
— yukisuzu (@yukisuzu66) January 11, 2020
正直Pythonを素早く身に付けて実装してみたいならPyQ一択です。
ただ、開発環境を整える必要がない反面、実務で使うためのスキルが完全に身につくわけではありません。
以下の記事でPyQの体験を基に詳しくレビューしています。
プログラミングスクールに通う
プログラミングスクールはそこそこのお値段がかかってしまいますが、強制的にプログラミングをやる環境に自分を置くという意味で非常に有用な手段です。
僕自身プログラミングスクールに通った経験があります。
Tech Academy(テックアカデミー)とTech Camp(テックキャンプ)という2大プログラミングスクールを比較していきましょう!
テックアカデミー
公式サイト:https://techacademy.jp/
【価格】 | 163,900円~(4週間) |
---|---|
【オススメ度】 | |
【サポート体制】 | |
【受講形式】 | オンライン形式 |
【JavaScriptの学習範囲】 | フロントエンドコース、Node.js |
テックアカデミー は日本最大級のオンラインスクールです。
テックアカデミーのメンターさんは現役エンジニアの方なので非常に安心感があります。
完全オンラインなので不安な方も多いかもしれませんが、週2回のメンタリングの時間とSlackによる質問対応で疑問点などはすぐに解決することができます。
実務レベルの小話やノウハウも聞けるので非常に実践的な力が付きます!
週2回30分ほどメンタリングがあるのですが、そこで進捗チェックが行われます。
次回のメンタリングまでに終わらせるところを一緒に決めるので、学習を進めるモチベーションが上がります。
テックアカデミーは実際に知名度も高く評判も上々なので、非常にオススメできるオンラインスクールです。
不安な方は、無料体験をしてみることをオススメします!
以下の記事で体験談をより詳しくまとめていますので是非チェックしてみてください!
テックキャンプ
公式サイト:https://tech-camp.in
【価格】 | 21,780円/月~ 入学金217,800円 |
---|---|
【オススメ度】 | |
【サポート体制】 | |
【受講形式】 | オンライン形式もしくは対面スクール |
【学べる範囲】 | プログラミングの基礎部分を幅広く |
テックキャンプはYoutubeでも有名な「まこなり社長」が経営する元祖プログラミングスクール。
他のプログラミングスクールはコース制を取っているものが多いのですが、テックキャンプは入学したら後は基本的に受け放題という制度を取っています。
テックキャンプには以下の3つのコースがあります。
最も一般的なのがこのプログラミング教養コース!
オンラインコンテンツを使いながら学習を進めてWebサービスの開発やAIを使った分析、デザインの勉強を中心に行うことができます。
HTML/CSS/Javascriptを使った基本的なWeb制作からRubyを使ったWebサービスの作成、SQLでのDB操作、Pythonでのデータ分析、IllustratorやPhotoShopを使ったデザインスキルの勉強を行うことができます。
なんとなんと価格は、入会金21,7800円を支払った後は月21,780円で利用することが可能なのです。
その後は、オンラインやオフラインの教室などで自由に分からないところを質問することができます。
月々の価格が他のプログラミングスクールのプランと比較して圧倒的に安いのでじっくり進めたい方には非常にオススメできるプランです。
また、7日間以内であれば無料で全額返金してもらえるのは安心です。
無料カウンセリングを実施しているのでより詳しく知りたい場合は相談してみましょう!
テックキャンプに関しては以下の記事で詳しくまとめていますのでよければ見てみてください!
スタビジアカデミー(スタアカ)
公式サイト:https://toukei-lab.com/achademy/
【価格】 | ライトプラン:1280円/月 プレミアムプラン:149,800円 |
---|---|
【オススメ度】 | |
【サポート体制】 | |
【受講形式】 | オンライン形式 |
【Pythonの学習範囲】 | データサイエンスを網羅的に学ぶ 実践的なビジネスフレームワークを学ぶ 実際に実データを使った様々なワークを行う |
データサイエンティストとしての自分の経験をふまえてエッセンスを詰め込んだのがこちらのスタビジアカデミー、略して「スタアカ」!!
当メディアが運営するスクールです。
24時間以内の質問対応と現役データサイエンティストによる複数回のメンタリングを実施します!
カリキュラム自体は、他のスクールと比較して圧倒的に良い自信があるのでぜひ受講してみてください!
他のスクールのカリキュラムはPythonでの機械学習実装だけに焦点が当たっているものが多く、実務に即した内容になっていないものが多いです。
そんな課題感に対して、実務で使うことの多いSQLや機械学習のビジネス導入プロセスの理解などもあわせて学べるボリューム満点のコースになっています!
ウォルマートのデータを使って商品の予測分析をしたり、実務で使うことの多いGoogleプロダクトのBigQueryを使って投球分析をしたり、データサイエンティストに必要なビジネス・マーケティングの基礎を学んでマーケティングプランを作ってもらったりする盛りだくさんの内容になってます!
・BigQuery上でSQL、Google Colab上でPythonを使い野球の投球分析
・世界最大手小売企業のウォルマートの実データを用いた需要予測
・ビジネス・マーケティングの基礎を学んで実際の企業を題材にしたマーケティングプランの策定
テックアカデミーやテックキャンプやスタアカ以外にもたくさんのプログラミングスクールがあります。
是非以下の記事でチェックしてみてください!
なぜプログラミングの勉強は続かないのか
プログラミングの勉強が続かない大きな理由は一つ。
<目標がないから>
<プログラミングを習得したあとの未来が描けていないから>
プログラミングはあくまで手段であるということを忘れてはいけません。
目標を定めてそれを達成するために勉強するべきです。
なんとなく流行っているからとか、勉強しておくと後々強みになるかも!とか安易な考えで勉強しても続きません!
僕の場合、R・Python・HTML・CSS・Javascript・SQL・Ruby・Java・C+などを勉強してきましたが、言語によって習得度合いはマチマチです。
※厳密にはSQL/HTML/CSSはプログラミング言語ではありません
振り返ってみると、やはり明確な目標に対して勉強している時は効率も良いし、必ず習得できるんです。
だから、プログラミングを勉強する前にとりあえず目標を立てましょう!
開発系のプログラミング言語なら、どんなサービスが作りたいのか。
解析系のプログラミング言語なら、どんな解析がしたいのか。
勉強はそこからです。
プログラミングの勉強を続けるために必要なことについて、より詳しくこちらにまとめています。
プログラミングの勉強の順番 まとめ
本記事では、プログラミングの勉強の順番を解説してきました!
最後にあらためて、プログラミングを勉強する順番をまとめておきましょう!
Step1:目標を決める
Step2:HTML/CSSで簡単なWebサイトを作ってみる
Step3:Javascriptで動きを作る
Step4:Webアプリケーションを作りたいならPHP/Ruby/Pythonを学ぶ
Step4’:データ分析をしたいならSQL/R/Pythonを学ぶ
Step5:Linux・Git・Dockerについて学ぶ
是非プログラミングを習得して世界を変えてください!!!
プログラミングスクールに関しては以下の記事でまとめていますので是非チェックしてみてください!
また、改めて各種プログラミングの勉強方法について以下の記事でまとめています!
・Pythonの勉強法
・HTMLとCSSの勉強法
・JavaScriptの勉強法
・Gitの勉強法
・Linuxの勉強法
・ITの勉強法
イラスト出典:Illustration by Stories by Freepik