ブログ,プログラミング

ネットの学習サービスや教材アプリで
ある程度プログラミングの基本や素養を
習得できたら、次のステップとして、
一定回数は、ワークショップやキャンプ
(集中的にプログラミング学習を行う
イベント)、またはスクールに通うことを
お勧めします。

ワークショップやキャンプ、スクールでは、
限られた一定時間内で成果物(アプリや
プログラムなど)を作成するため、
初心者にとっては、とても良い経験に
なると思います。

また、習熟度が同程度の人と交流することも、
勉強のモチベーションを維持するうえでは
効果的です。

ワークショップは全国で頻繁に行われています。

ここまでの段階で、プログラミング的な思考や
考え方と、基本的な開発技法を習得することが
できれば、あとは書籍やネットなどのを
用いて学習するだけでも、どんどん知識を
増やしていくことができます。

その速度は基礎を身につけていない人と
比較して、圧倒的に速いと思います。

どのような科目にもいえることですが、
大切なのは何といっても「基礎」です。
オンラインの学習サービスとワークショップや
キャンプ、スクーリングなどでしっかりとした
基礎を身につけてください。

ブログ,プログラミング

プログラミング経験がまったくない人に、
最初に取り組んでほしいのは、ネット上で
無料で利用できるプログラミング学習
サービス、またはiPadやパソコンで
利用できる教材アプリです。
これは、大人も子供も同じです。

世界中に、さまざまな学習サイトがあり、
学習障壁の低い「ビジュアル・プログラミング
言語」を採用しているサービスも多いので、
ぜひそのうちのいずれかを試して見てください。

この段階の学習方法をしっかりと説明する
のが、目的もであり、論理的な思考力や
問題解決力の向上に最も影響する段階でも
あります。

具体的なサービスや学習の進め方は
後程解説します。

ネット上の学習サイトや教材アプリを
利用することのメリットは次のとおりです。

・自宅にいながら、24時間、いつでも学習を
 開始できる。
・多くのサービスを無料で利用できる(有料も
 あります)
・プログラミングの「設計」(論理的思考法や
 問題解決力)を学べる。
・最新のプログラミング教育の研究結果が
 反映されている。

上記のように学習サービスや教材アプリの
利用は初心者にとって最適です。始めるための
障壁も低く、リスクもありません。

ゲーム感覚ではじめられるものも多く、
「気づいたらプログラミング的思考法が
身についていた」と感じる人がいるほどです。

そのため、小・中学校の授業で採用されている
カリキュラムの多くはオンラインの学習サイトや
教材アプリを利用したものが中心となっています。

「プログラミング」という言葉に多少なりとも
「難しそう」という思いがある人は
このステップから学習を進めることで、
その印象を払拭できると思います。

ブログ,プログラミング

プログラミング・スキルの最大の価値は、
アイデアを形にできることです。

言い換えるなら、プログラミングは
あくまでもアイデアを形にするための
ツールでしかありません。

ですから、どのような理由でプログラミングを
学ぶにせよ、できれば「何らかのアイデアを
形にすること」をゴールに設定して学習する
ことをお勧めします。

アイデアはどのようなものでも構いません。
好きなゲームでも、Webサービスでも、
iPhoneアプリでも、なんでも良いのです。

みなさん自身の「実現してみたいこと」が
アイデアの種になると思います。色々と
考えてみてください。

ブログ,プログラミング

「アイデア発案・設計」と「開発」の2つの
作業工程は当然、車の両輪のように、両方とも
とても大切です。

そのため、個人でプログラミング学習を
進めていく場合は、アイデアを考え、必要な
機能を整理し、それをコードに変換していく
一連の流れを経験することが必要となります。

旧来のプログラミング教育の最大の難点は、
アイデアを考えたり、それを実現するための
仕組み検討することよりも先に、開発時に
必要な「特定のプログラミング言語の文法」を
学習させることにありました。

つまり、「先に理論・文法を学び、後で実践を
行う学習方法」です。これがあまり良く
ありませんでした。

一方、現在のプログラミング教育では、実際に
何かを作る過程を経験しながら(もしくは経験
した後で)、プログラミング言語の文法を
学んでいくという流れが主流となっています。

こうすることで、学習者はより具体的に
「今、学んでいることを習得することによって
何が実現できるようになるのか」を
イメージできるようになります。

このため、以前よりも圧倒的に挫折する人が
減り、また効率的に学習を進められるように
なっています。

ブログ,プログラミング

一口に「プログラミングを学ぶ」といった場合、
その内容は、多彩です。国や地域はもとより、
学習者の年齢や嗜好、目的などによって、
色々な学習法があります。

そのような、無数の学習法が用意されている
という状況は「あらゆるニーズに応えることが
できる」という意味で素晴らしいのです。

しかし、一方でこれから学習をはじめようと
する人にとっては、「何から手をつけたら
いいのかわからない状態」でもあります。

そこで、いったん原点に立ち返って、
「そもそもプログラミングとは何なのか」、
そして「世の中にはどのような学習方法が
あるのか」を見ていくところ始めましょう。

ブログ,プログラミング

プログラミングと聞くと、パソコンのモニターを
のぞき込み、暗号のような文字と数字を
羅列して、コンピュータ制御しているシーンを
想像する人も多いと思います。

そして、「難しそう」「大変そう」
「勉強は苦手」といったマイナスの感情を
持つ人も少なくないと思います。

しかしそれは、旧来の学習方法の印象が
強いからだと思います。

近年注目されているプログラミングの
学習環境は、こういったイメージとは
まったく異なります。

多くの小・中学校で行われている初期の学習では、
文字や数字の羅列でコンピュータ制御をするのでは
なく、ブロックを組み立てるようにして
プログラムする「ビジュアル・プログラミング」が
採用されています。

実際、最先端の学習方法を取り入れている
プログラミングの授業の風景を見ると、
老若男女問わず、ほぼ全世代の大きの人が、
実に楽しそうにプログラミングを学んでいます。

そのような光景を見ると、プログラミングは
すでに「一部のマニアックなコンピュータ
好きがやること」ではなくなっていることを
痛感します。

ぜひとも、旧来の学習方法ではなく、
最先端の効果的な学習方法で学習を
進めてください。

きっと楽しみながらプログラミングの
スキルを身につけられると思います。

ブログ,プログラミング

実際のところ、現在行われている
プログラミングの学習方法や教育方法に
関しては、現在もまだ試行錯誤は
続いています。

教育手法の成果は短期間で判断できないものも
多いので、「このように教えれば最適だ。
完璧だ。」といった、100%の正解は
まだ存在しません。

一般向けのプログラミング教育は、
始まって数年なので、受講の第一期生も
現時点でまだ20代前半です。

彼ら・彼女らが今後、受けてきた
プログラミング教育の成果が発揮されるまで
にはもう数年必要なのかもしれません。

そういった意味で、学校で習っているような
数学や国語、物理といった、歴史の長い
学問よりも、学習方法に関する経験値が
少ないのは事実です。

しかし、その一方で、プログラミングに
関しては、その必要性が非常に高いことも
あり、世界規模・数千万人単位で
さまざまな実証実験や研究が行われています。

このため、改善のスピードが驚異的に
速く、徐々にその成果も表れはじめています。

ブログ,プログラミング

プログラミングの教育という面からみると
どうでしょうか?

世界に目を向けてみると、イギリスや
フィンランド、オーストラリアでは
すでにプログラミング科目が小学校から
必須科目になっています。

韓国でも中学校から授業に取り入れられる
見込みになっています。また、アメリカには
実践的なプログラミング・スキルを学ぶ
ことのできる学校が多数存在します。

これほどまでに、世界中でプログラミング・
スキルが求められているのです。

一方、日本の状況はどうかといううと、
近年までは、小中学校でプログラミングを
教えることはまれでした。

高校でも「社会と情報」といった科目に
よる一般常識程度、大学ですら理系の学部に
進学しないとカリキュラムとして
プログラミングを学ぶ機会はありませんでした。

このような状況が、日本の「エンジニア不足」の
大きな一因となっています。

そのため、国家プロジェクトとしてスキルのある
エンジニアを育てることが急務の課題として
挙がってきています。

このため、日本でもいよいよ、2020年から
小学校でのプログラミング科目の義務教育化が
検討され始めましたが、2017年現在、
教えることのできる教員があまり存在しません。

このように、世界単位、かつ政府主導で
「プログラミング・スキルの養成」が
一大プロジェクトとして動き始めています。

ブログ,プログラミング

プログラミング教育の話題となると、
新聞や雑誌が取り上げる対象の中心となるのは
小学生や中学生であることが多いのですが、
その学習メソッド(方法)は、当然、大人に
対しても有効です。

小学生や中学生にのみ有効であるようなもの
ではありません。その内容は日々進化して
います。

プログラミング・スキルを、より効率的に、
より効果的に習得できるように、さまざまな
研究が行われ、それが学習メソッドに
反映されています。

このことから、実際にどのような教育が
行われているかを知ること、および最新の
学習メソッドで学ぶことは、大人も子供も
関係なく、「はじめてプログラミングを
学ぶ人」すべてに有効です。

この点はぜひ覚えておいてください。

小学生に混じって授業をうけることは
さすがに抵抗があるとは思いますが、
今では社会人向けのプログラミング
習得セミナーや、無料で使えるアンライン
学習サービスもあるので、ご安心くださいね。

社会人の一般教養として、プログラミング・
スキルを習得したい人、プロのエンジニアを
目指す学生さん、定年後の新しいチャレンジと
してプログラミングを習得したい人、
それらすべての人にとって、最新のプログラム
教育は活用できます。

ブログ,プログラミング

5.アイデアを実際の形にできる

日本を代表するソフトウェア技術者の一人で
あり、プログラミング言語「Ruby(ルビー)」の
設計者でもある、まつもとゆきひろ氏は
「プログラミングはコンピュータへの翻訳
作業ではなく、自身のアイデアを表現する
もの」といっています。

アイデアをプログラムへ落とし込むことで、
思考が整理され、さらにルールさえ作って
しまえば、コンピュータが自分の代わりに
作業してくれるなど、自身の力を何倍に
拡張できるのが、プログラミングを学ぶ
ことの最大のメリットの1つです。

プログラミングを学ぶということは、
100年前にはあり得なかった次の3番目の
方法を使える時代になったということです。

1.自分でやる
2.人にやってもらう
3.コンピュータにやらせる

自分でプログラミングをしない人(他人の
作ったソフトウェアを使うだけの人)は、
誰かが決めたルールや、誰かが決めた
仕組みの中でしか作業したり、遊んだりする
ことしかできません。

一方、プログラミングを学べば、その世界
(ソフトウェア)のルールや仕組みを自分で
決められます。

大切なことは、アイデアをプログラムへ
落とし込む際の肝となる「考え方」や
「実現方法」を、みなさん自身が
”イメージできる状態”になることです。

プログラミングを学習することで、表現力や
コミュニケーション能力、検索力(必要な
情報をインターネットから探し出すスキル)
など、今後を生きていくために必須となる
さまざまなスキルを得ることが可能です。