プログラミングは学習順と教材を間違えると挫折する
プログラミングの習得は90%が挫折すると言われていますが、プログラミングの学習順と正しい教材を選ぶことで、独学での挫折率をぐっと減らすことができます。
なぜ挫折するのでしょうか。それは、「わからないことがわからないから」です。
教材では〇〇と言っているけど、〇〇がわからない、なぜこういう動きになるのかがわからないなど、初心者にありがちなのは、次に取るべきアクションで迷子になってしまうのです。
正しい教材を選択と学習の順番を間違えなければプログラミング学習の挫折率をぐっと抑えることができます。
学習順1 制御の方法を知る
私が一番初めに覚えることをおすすめしているのは、プログラミングの構文と制御の仕方です。
プログラミングの構文と制御とは、順次処理、条件分岐、ループ処理や、変数などの基礎の基礎の部分です。
基礎の基礎にあたる部分ですが、ここを飛ばしてしまう方がほとんどです。
そして、後々この構文や制御で苦しむ方をたくさん見てきました。
私のおすすめする勉強方法は、プログラミングの構文と制御の基本は言語で学ぶのではなく、ブロックプログラミングのアプリケーションを使用した勉強方法です。
ブロックを使用することで、本当に学ぶべきプログラミングの構文や制御にだけフォーカスをあててしっかりと学習することができます。
構文や制御を学びながら、プログラミング的な考え方(論理的思考)をしっかり養えます。
ここをしっかり身につけないと、以降の言語習得時に苦しむことになり、挫折してしまう大きなポイントとなってしまいます。
ブロックプログラミングは子供のためのもの。ではなく、プログラミングを学び始めるすべての方にピッタリな学習方法です。
学習順2 ローカルアプリを作る
さて、学習順1でプログラミングの構文や制御を覚えたら、まずはローカルで動くアプリケーションを作りましょう。
いきなりWebアプリケーションを作り始めるのはおすすめしません。
後述しますが、Webの仕組みがわからないままWebアプリケーションに取り組んで、はてながいっぱい!何をしているのかわからないけど、テキストを写して終わってしまった。
なんて話も良く耳にします。
それでは何も身につきませんよね。
まずは、ローカルで動作するアプリケーションをプログラミング言語で記述することで、学習順1で学んだプログラミングの構文や制御をしっかりと言語に落とし込んでください。
また、ここでは初めて開発環境の構築を行います。
ローカルアプリなので、統合開発環境(IDE)のインストールのみで完了することが多く、動かすまでにそれほどハードルが高くありません。
ここでしっかりとプログラミング言語で構文や制御を書くということを身につけましょう。
学習順3 Webの仕組みを知る(HTTP)
次に習得するのはWebの仕組みです。
WebサイトやWebアプリケーションがどのように動作しているのか。HTTPの基礎だけで良いので学習しましょう。
HTTPやWebの仕組みは、今後学習するWebサイトやWebアプリケーションを作成する上で必ず必要な知識になります。
この知識がないと、必ず挫折してしまう。と言っても過言ではありません。
基礎だけであればそれほど難しくはないので、さくっと習得しましょう。
学習順4 HTML&CSSを学ぶ
学習順3でWebの仕組みを学んだら、いよいよWebサイトの作成を行うHTML、CSSを学習しましょう。
HTML、CSSはプログラミング言語ではなくマークアップ言語と呼ばれるドキュメントの一種ですが、Webアプリケーションを作成する上で欠かせない技術です。
こちらについても基本的タグや動作を身につければ良いでしょう。
習得にはそれほど時間がかかりません。
学習順5 データベース&SQLクエリを学ぶ
データベースの扱いについては、不要なアプリケーションもあるため必須ではありません。
ですが、現代のアプリケーションでデータベースを使用しないものはほとんど存在しないといっても過言ではないため、できれば一緒に習得してしまったほうがよいでしょう。
こちらもデータベースの基礎や基本的なクエリの使い方を習得するだけでOKですので、それほど時間はかかりません。
学習順6 Webアプリケーションを作る
さぁ、いよいよWebアプリケーションを作りましょう。
学習順1~5までしっかり習得している皆さんなら、挫折する部分はそれほど多くないでしょう。
Webのアプリケーションはどんな言語であれ、ローカルのアプリケーションよりもプログラミングソースの記述量が多くなることが一般的です。
少し学習に時間はかかるかもしれませんが、ひとつひとつ目の前の課題をクリアしていけばしっかりと技術を身につけることができます。
スマホアプリはWebアプリケーションとは違い、HTMLを使用しませんが画面の構成などには通じるものがありますので、基本的には同じ工程で学習していくことをおすすめします。
学習順ごとのおすすめ教材は?
学習順はわかった。では、どの教材を選んだら良いのでしょうか。
書籍も体系だって記載されていて優良なものがたくさんありますが、現代では、統合開発環境(IDE)や言語、フレームワークなど、バージョンアップのスピードがとても速いです。
数年前までは私も書籍を推薦していましたが、現在では特に初心者にはあまりおすすめしない教材です。
書籍は環境のバージョンがあがっても、修正されることがなくまたバージョン違いによって実装方法が異なることがあるからです。
私がおすすめする教材は動画です。
特にUdemyでは、講師が講座をバージョンが変更になるたびに更新してくれていたり、QAがあったりとかなりサポートがしっかりしています。
無料ではない講座がほとんどですが、Udemyではセールをたびたび行いますので、そちらを利用するとお得に学習できます。
以降では、学習に応じたおすすめの講座を紹介していきます。
学習順1 制御の方法のおすすめ講座
プログラミングの構文や制御を覚えると同時にプログラミング的な考え方(論理的思考)を身につけるにはしっかりと時間をかけてたくさんの問題を解くことが必要です。
ブロックプログラミングのアプリケーションで有名なのはScratchですが、練習問題がたくさんあって手を動かせる講座はなかなか見当たりません。
たくさんの練習問題を用意しているこちらの講座をおすすめします。
初心者でも挫折しない、ブロックプログラミングで学ぶプログラミングの仕組み
筆者が講師をしております。
プログラミングゼミというDeNAが作成したブロックプログラミングのアプリケーションを使った講座です。
手前味噌ですが、練習問題がたくさんあって、かなりのボリュームではありますが、修了したときにはしっかりとプログラミングの基礎の基礎を身につけているでしょう。
学習順2 ローカルアプリのおすすめ講座
Windowsを使用されている皆さんにはこちらをおすすめします。
経験ゼロからC#プログラミングがある程度出来るようになる方法【Windows Forms編】
C#というプログラミング言語ですが、サクッと動かすにはとても良い講座です。
次にローカルのアプリケーションではありませんが、Pythonでの練習問題100問という講座をご紹介します。
Progateの次に学ぶ!Python演習問題100問パック!?データ型・制御構文編
こちらは開発環境の構築がなく、100問の演習問題がある。ということでおすすめします。
学習順1 プログラミングの構文と制御を学ぶ にもありますが、プログラミングは数をこなすことが大切です。
ここでは、たくさんの問題に触れてまず「プログラミング言語を扱う」ことに慣れることを命題としていますので、これはピッタリの講座です。
学習順3 Webの仕組みを知る(HTTP)のおすすめ講座
Webの仕組みを知るためのおすすめ講座が現在はUdemyでは見当たりませんでした。
こちらは書籍でのおすすめになります。
基礎がしっかりと記載されていますので、HTTPを学ぶには最適です。
学習順4 HTML&CSSのおすすめ講座
HTML&CSSのおすすめ講座はこちらです。
Webのデザイナーを目指すというよりも、あくまでもプログラミングを操る開発者になることが命題ですので、HTML&CSSの基礎の基礎をしっかりと解説してくれているこの講座はとても優良な講座です。
この講座では、ホームページとはなに?から、どのように画面を作成するのかをひとつひとつ丁寧に解説してくれます。
ぜひ購入して、しっかりと身につけましょう。
学習順5 データベース&SQLクエリのおすすめ講座
データベースとSQLクエリのおすすめ講座はこちらです。
データベースとはなにか?から基本のクエリ文まで丁寧に解説されています。
使用しているのはフリーのアプリケーションですが、時々動作しないことがありますので、注意が必要です。
もし、アプリケーションの動作がおかしいなどがあれば、講師に質問ができる機能もありますので上手に活用してください。
学習順6 Webアプリケーションのおすすめ講座
WebアプリケーションはPHPとPythonのおすすめをピックアップしました。
プログラミング初心者でも安心、Python/Django入門講座
その他の言語については、こちらからご確認ください。
挫折しそうになったら
今回ご紹介した教材はすべてUdemyです。(一部書籍を含みます)
Udemyには講師に質問が可能な機能がついています。(一部有料になっている講座もあります。)こちらの機能を上手に使って、わからないところは「わからない」と教えてもらいましょう。
質問をすることも上達への道です。
スクールに通う
独学で学ぼうと思っていたけど、やっぱりどうしても一人では難しい。という場合は、スクールを検討してみてはいかがでしょうか?
こちらのDMM WEBCAMPはDMMが運営しているプログラミングスクールです。
無料体験もありますので是非一度体験してみてください。
最後に
今回は、独学におすすめの学習の順番と、それぞれのおすすめ教材として、Udemyの講座をご紹介いたしました。
また、どうしても挫折しそうなときに利用できるサービスもご紹介しています。
どんな方法でも、ひとつひとつ焦らずに学習を進めていきましょう。
有料のサービスを利用すると困りごとがサクッと解決するでしょう。
ひとりで長い時間出口の見えない悩み事に時間を費やすよりも、有料のサービスを利用したほうがコストパフォーマンスが良いこともあります。
有料のサービスを上手に利用しながら楽しくしっかりとした技術を身につけてくださいね!