「イチからプログラミング覚えるなんてムリっぽい…。子どもでもわかる教材無いのかな?」
2020年度から、小学校でのプログラミング教育が全面的に実施されます。政府によるDX化の推進などにより、今後はさらに ITが身近になっていくでしょう。
小学生が学べるほど易しいなら、初心者の大人にも学びやすいのではないでしょうか?
今では、プログラミング初心者でも簡単に学べるツールが多くあり、ゲーム感覚で楽しく学習できます。
- 小学生のカリュキュラムにプログラミングの学習が入る
- Scratch を使ってパズルのようにプログラミングをする授業も
- Microsoft からもプログラミング教育用アプリが無料公開されている
- 大人が学ぶなら Python から始めるのが学びやすい
目次
小学校のプログラミング教育は、楽しみながらプログラミングを始めたい大人にも良い
算数、理科、音楽、社会、家庭科の一部としてプログラミングのエッセンスを学べる学習を追加されます。また個別にプログラミングの授業が単元として追加になるようです。
- 社会 都道府県の名称と位置(小4)
- 算数 正多角形の作図(小5)
- 理科 電気の性質や働き(小5)
- 音楽 音楽作り(小3~小6)
- 家庭 炊飯(小6)
- プログラミング 単元として授業を追加
また、クラブ活動としてプログラミングを学ぶ機会が作られるとか。
具体的には、Scratchという、ビジュアルプログラミング言語を使います。アメリカのマサチューセッツ工科大学のメディアラボが無償で公開しています。
Scratch – Imagine, Program, Share
遊び心満載の楽しげな画面。これなら、遊び感覚で小学生でもできそうですね。
具体的な学習内容は、こちらのサイトにまとまっていました。
また、Microsoftでは、プログラミング教育用アプリを無料で公開しています。
- ゲーム Minecraftで学ぶプログラミング
- 回路基板 micro:bitで学ぶプログラミング
- LEGOロボットと連携させて学ぶプログラミング
こちらのサイトにも、面白そうな学習コンテンツがズラリ。例えば、Minecraftというゲーム内にプログラムを組み込み、キャラクターを動かしたり建造物を作ったりする学習コンテンツがあります。
楽しみながら、プログラムのエッセンスに触れるという意味では有効ですね。
ただし、実際の開発現場でScratchなどのビジュアル言語を使うことはありません。大人が、業務で使うために学ぶには、少々遠回り感があります。
実際に現場で使われる、学びやすいプログラミング言語はPython
総務省がまとめたレポートに、プログラミング教育に用いられる主な言語がまとめられていました。
参考)平成27年 プログラミング人材育成のあり方に関する調査研究報告書 総務省
教育専用に作られたScratchなどの言語を除くと、以下の通り。
- JavaScript
- Java
- Python
- C
- Objective-C
- HTML
- Basic
- Arduino
おすすめの言語はPythonです。
Pythonは、全米の大学で、初心者用プログラミング教材として、もっともカリキュラムに取り入れられています。
初心者用とは言え、ウェブアプリ開発や、人工知能分野の開発にも多く利用されています。初心者用としてわかりやすい構造を持ちながら、高度な処理の記述にも対応している言語と言えるでしょう。
また、習得人口が多い、人気ナンバーワンの言語はJavaです。
プログラミング教室などでは、Androidアプリ開発に用いられるケースが多いです。
Objective-Cは、iPhoneアプリ開発に使われる言語です。2014年にObjective-Cに代わる言語としてSwiftが発表されています。
ゲーム開発プラットフォームUnityでも、Objective-Cが採用されています。
プログラミングの習得には半年程度かかる
未経験からスタートして、プログラミングの習得には、どのくらいかかるのでしょうか?
有料のオンラインプログラミングスクールのPythonカリキュラムにかかる時間を調べてみました。
- codecamp Pythonデータサイエンスコース 2ヶ月
- Progate Python学習コース 約9時間
- TechAcademy Python+AIセット 8週(2ヶ月)~24週間(半年)
見事に時間がバラバラですが、これはカリキュラムの量の差によるところが大きいです。
比較的、学習内容が網羅されているTechAcademyで最短2ヶ月となっています。
実際には社会人は仕事をしながらの学習になるので、2ヶ月ずっと学習時間にあてることは難しいでしょう。
言語一つを一定レベルに習得するには、最低でも半年くらいはかかりそうです。
人工知能(AI)関連のプログラミングを独学で学ぶには?
人工知能分野のプログラミング学習コンテンツで、おすすめを一つあげるとしたら、Chainerのチュートリアルです。
Pythonの人工知能(機械学習)ライブラリには、代表的な有名ライブラリが3つあります。
Tensorflow(Google製作の機械学習ライブラリ)、Chainer(国産の機械学習ライブラリ)、PyTorch(Facebook製の機械学習ライブラリ)です。
このうち、Chainerは国産だけあって、チュートリアルがバッチリ日本語でわかりやすいんです。
- Pythonの入門
- 人工知能分野で必要な数学基礎(微分、線形代数、統計・確率)
- NumPy
- scikit-learn
- Cupy
- Pandas
- Matplotlib
- Chainerチュートリアル
途中から学べるので、あなたの知識レベルに合わせて学習できる構成になっています。
オンラインのプログラムスクールのメリット
値段を見て、「けっこう高いな…」と思ってしまう、プログラミングのオンラインスクール。
どんなメリットがあるんでしょうか?
オンラインスクールの最大のメリットは、わからない点をすぐに質問できる点です。
短いコードを実行してみて、「どうしてもエラーになる。なぜエラーになるのかわからない」という場合に、サッと質問して、サッと回答をもらえるんですね。
これがないと、プログラミング学習は挫折し易いです。
10行程度のコードが動かなくて、ずっと原因を調べていたら、1週間経ってしまった…なんてことがあったら、「あぁ…もうだめだ、やめた…」って、挫折しますよね。
わからない点をすぐに聴ける「メンター」がいることが、プログラミングを独学で習得する際のポイントになります。
プログラミングを独学で学ぶなら? iPad編
iPadでプログラミングを独学で学びたいなら、おすすめはSwift Playgroundです。
- apple製の学習アプリ
- iPhone開発に使うSwift言語が学べる
iPhoneアプリ開発で使う、Swift(Objective-Cに代わる言語)を学ぶことができます。
ゲーム感覚で学べる点が秀逸。
迷路のスタート地点に立っているキャラクターを、あなたのSwiftコードで動かしてゴールまで導くんですね。
画面を表示する処理や、キー入力を受け付ける処理などは書かなくてよいので、ループ処理(while)や、条件分岐(if)にキャラクターを移動させる関数(moveForwardやturnLeft)を組み合わせてシンプルなコードを書いて、実行結果を確認できます。
これは、小学生にやらせたらハマるかも。
プログラム未経験の人にもおすすめで、なにより実際に現場で使えるコードを学べる点がポイントです。
プログラミングを独学で学ぶなら? スマホ編
スマホを使って、プログラミングを独学で学びたいならコレ。
- 動画でプログラミング言語を学べる
- 有名企業の社員が講師を務める
- 無料で利用可能
通常コースは無料で受講可能。動画でプログラミングを学ぶことができます。
上級者向けでは、Google、Facebook、NVIDIAなどの有名企業の社員が講師を務めるコースもあり。
ひとつ、残念な点は、英語コンテンツがメインなことです。
有料コースに登録すると、個人向けのサポートサービスを受けることができます。「このコードうまく動かないんだけど」「それはこうすれば動くよ」「あっ、動いた。ありがとう!」と、バリバリ学習を進めていける…はずなのですが、サポートも英語なのでハードルが高いですね。
ある程度プログラミングの基礎を身につけた人が、通勤途中で動画コンテンツを見て学習…という使い方が良いのかなと思います。(動画には、一部日本語字幕つきのものもあり)
プログラミングを独学で学ぶなら? 書籍編
ウェブに公開されている学習コンテンツも良いけど、一冊にまとまっているテキストを手元に置いてプログラミングを学んでいきたい!
おすすめの書籍や参考書はあるのでしょうか?
プログラミング超初心者が初心者になるためのPython入門(1)
https://www.amazon.co.jp/dp/B00SH9TZV6/
プログラミングジャンルのamazonベストセラー1位。
不安でたまらないプログラミング未経験者の心をくすぐるタイトルです。
サンプルコードを実行して、結果を確認してから、どういう処理が行われたかを解説する形式。
語り口調がとてもやさしく、読みやすい児童小説のようです。
ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装
https://www.amazon.co.jp/dp/4873117585/
Pythonの機械学習ライブラリを使わずに、まさに「ゼロから」ディープラーニングを学ぶというコンセプトの書籍。
ディープラーニングとは、何をやっているのか?をステップバイステップで理解していける良書です。コードも豊富に掲載。
2016年版と少々古いのですが、ライブラリを使用していないため、今でも問題なく動きます。
独学プログラマー Python言語の基本から仕事のやり方まで
https://www.amazon.co.jp/dp/4822292274/
amazonのモバイルプログラミングベストセラー1位。
独学でPythonを身につけたプログラマーの、独学での学び方が解説されています。
すぐに仕事でPythonを使いたいという初心者向けです。
レビューは、賛否分かれていて「読みづらい」「わかりやすい」など意見はさまざま。
ハマる人にはハマる入門書です。
プログラミングの独学ポイントまとめ
どのプログラミング言語を選んでも、完全独学で学ぶのは時間がかかります。
15分以上悩んで答えがわからなかった場合に、相談できる「メンター」を作ることが重要。
自分ひとりだと一週間調べても答えが出ないことが、
「ああ、それはバージョン古いから、こっち使わないとだめだよ」
なんて、一瞬で答えがもらえることが少なくないんですね。大幅な時間の節約になります。
例えば「ココナラ」などでは、プログラミングのわからない点を熟練者が教えてくれるサービスがあります。1件につき3,000円~5,000円かかります。デキるプログラマーの単価は高いんですね。
学習初期は、100件も200件も疑問が出てきますから、都度頼んでいたら30万円~50万円かかってしまいます。
そう考えると、プログラミングのオンラインスクールは月額10万円~20万円で利用できる上、質問し放題のメンターをつけてくれるサービスもがあるので、割安と言えるかも知れませんね。
「ポテパンキャンプ」はオンランイン完結で、勉強時間も週15~20時間程度です。大学に会社に通いながらでも受講できるためオススメです。分からないことがあれば、すぐにチャットで質問できます。
まとめ
パズルのように遊びながらプログラミング体験ができる Scratch などのアプリが人気です。これらのツールでは論理的な思考力は鍛えられますが、コードを書く実際のプログラミング能力を鍛えることは難しいでしょう。
プログラミング初心者でも学びやすく、AI などの分野でも使用される Python などから学習を始めるのがよいでしょう。もし、つまいずて前に進むのが難しくなってきたら、「ポテパンキャンプ」のようなオンラインスクールで、分からないことを聞いてみましょう。
オンラインスクールのメリットは、
わからない点をすぐ質問できること