プログラミングを学習するときに「何から始めたらいいのか?」は本当に困ってしまいますよね。
プログラミング学習、などで検索するとJava、C#、Python、Ruby、PHP、JavaScript・・・・・などなどたくさんのプログラミング言語が出てきて、「結局どれから取り掛かればいいのかわからない。」という声を多く耳にします。
そんな人に私がいつもおすすめしているのは「プログラミング学習のロードマップ」です。
今日はプログラミング学習のロードマップその1でおすすめしている「ブロックプログラミングでアルゴリズムを学習する」についてお話していきましょう。
プログラミング学習のロードマップ
プログラミングを最短で身につけるには正しい順番で勉強していくことが重要です。私がおすすめしているのはこの習得のロードマップです。
Webアプリ言語。と書いてありますが、ローカル(スマホ)アプリでもほとんど違いはありません。
今日はその1番目である「①プログラムの制御と構文を学ぶ」を深堀していきましょう。
どんなことを勉強するのか?
「①プログラムの制御と構文を学ぶ」では、プログラミングのアルゴリズムを学習します。
さて、アルゴリズムとはなんでしょうか?
私が考えるアルゴリズムとはまさに「①プログラムの制御と構文」です。さらに、制御と構文を学びながらプログラムを組み立てていくうちに「プログラム的な思考能力」も身につけていきます。
私たちが日常生活を送っていくなかで、無意識に行っている活動がありますが、実は私たちの脳は色々な処理をしています。そうした脳の処理方法を書き出したのが「プログラム的な思考」です。
例えば、横断歩道を渡る というシチュエーションがあるとします。
皆さんは「無意識に信号を見て」、「赤だったら止まる」、「青だったらわたる」もしくは例外として「車がいなければ渡る」などをしていることでしょう。
実はこれらは立派なアルゴリズム(構文と制御)なんです。例えばこの処理をフローチャートで描いてみましょう。
脳はこんな風に処理しています。
この考え方こそがアルゴリズムであり、プログラムの構文と制御なんです。
この考え方を身につけることこそがプログラミング学習の中で最初に学ぶべきことです。これがなければいくらプログラミング言語を学習したところで結局、For文が書けない、IFがわからない・・・となってしまうのです。
どんな学習方法で学ぶのか?
私がおすすめするアルゴリズムの学習方法は「ブロックプログラミング」です。
耳慣れない言葉かもしれませんが、例えばScratchやMinecraft、プログラミングゼミなどのブロックでプログラミングを行えるアプリを活用します。
※これはプロゼミの画面です。
たしかに子どもっぽいと言われる方もいます。
でも、このブロックプログラミングで凝ったゲームを作れるようになるんですよ。
↓(下の図)はプログラミングの一部ですが、これらのプログラムで
プロローグ⇒シューティングゲーム1⇒レベル2のシューティング⇒ラスボスとの闘い
のゲームになっています。
ブロックプログラミングで「やりたいことを実現することができる」人にはこの学習は不要です。
早速次のステップに行きましょう。
ですが、取り掛かってみて「やりたいことが実現できない」人はぜひここから学習してみてください。
アルゴリズム習得の順番
これは色々な意見があると思いますが、私がおすすめしているのはこちらの順番です。
構文や制御、基礎構文を学びながら、プログラミングの基礎となるべき処理の順序を考えるちからを養います。そうすることで、基本的なプログラミングの考え方が身につきます。
プログラミング言語を習得する際に、どんなプログラミング言語でもこの基本的な制御や構文がなければかなりハードルが上がってしまうでしょう。
プログラミング言語は基本的には英語で書かれています。
英語も覚えなきゃいけない、変数ってなに!?なんでここが繰り返されてるの!?
何も知らずに取り組んだ途端、ほとんどの人がこんな風にパニックになるでしょう。
だからこそプログラミングは習得するまでに9割が挫折すると言われているんです。
一足飛びに学習すれば確かに時間は短縮できます。しかし短縮したつもりかもしれませんが、実は何も身についていないんです。
プログラミングは英語と似ています。コツコツと少しずつ積み上げていくしかありません。一足飛びに身につけることは不可能なんです。
ちなみに。。。
「最短30日!これをするだけでプログラミングは覚えられる」みたいな商材売ってますが、ほぼ詐欺だと思ったほうがいいですよ。残念ながらそんなうまい話は世の中にはなない。ということです。
ブロックプログラミングでアルゴリズムを学ぶ
わかった。じゃぁブロックプログラミングやってみる!と意気込んでみたものの、実際にはなかなかブロックプログラミングを対象としてきちんと構文や制御を教えてくれる教材がないのも事実です。
そんな中で、手前味噌ではありますが私が製作したこちらの教材をおすすめしています。
私がUdemyで販売しているこちらの教材は大人向けに作った、「アルゴリズムとプログラミング脳を身につける」ための教材です。
初心者でも挫折しない、ブロックプログラミングで学ぶプログラミングの仕組み
7時間という長い動画になりますが、ひとつひとつのレクチャーは5~15分程度でまとめてありますので、1日1本見よう。など、計画が立てやすいかと思います。
また不明なところはQAに登録していただければ、もちろん回答させていただきます。
イチからしっかりと。そして躓かせない。ぜひこちらの教材を活用してください。
ちなみに、製作者の私が言うことではないかもしれませんが・・・Udemyは月に1~2回ほどセールを行います。通常金額は良いお値段ですが、セールの時は1600円~5000円程度で購入できますので、その時を狙ってみてください。
また、私のTwitterにDMをいただければ割引チケットをお出しすることも可能です。(制限があるので出せない月もあります。)
なんもわからん。イチからしっかり学習したい。挫折しちゃったけどリトライしたい。などなど、私はプログラミングを学びたい人を応援しています。
ぜひ、この機会を上手に活用してみてくださいね。
最後に
私はシステム開発会社を経営する現役のエンジニアである傍ら、プログラミングスクールも運営しています。また、専門学校の非常勤講師としても教えていますが、自分自身、この教材を利用して生徒にプログラミングを教えています。
教えながら気づきもたくさんあるんです。ですから、この教材は日々更新しています。
これはわかりにくいかな?もう少しここは深堀しようかな?などなどを少しずつ盛り込んでいくことで、よりわかりやすい教材にしていきたいと考えています。
プログラミングは身につけにくい学問・技術ではありますが、とても興味深い技術であることも事実です。
そしてその技術はプログラマーとしての仕事以外に就いたときにも必ず活かされます。
ここまで散々、難しい、一足飛びにはできない、などなど厳しいことを書き連ねましたが、私のモットーは「楽しく学ぶ」です。試しに学習していただきたいのですが、自分で作ったプログラムが動くことは本当にワクワクします。そして、そのワクワクを皆さんと共有できるようにたくさん工夫しています。
さんざん自分の教材を推しましたが、市販のScratch本などでも制御や構文、アルゴリズムについての解説が学べるのであればそういう本などでも問題ないですよ!!
学習し終わったかたは、こちらの記事で次に学習するおすすめなどを書いていますので参考にしてください。
ぜひ「楽しく」「しっかりとした」技術を身につけてください。