ブログ,プログラミング

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

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

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

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

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

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

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

ブログ,プログラミング

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

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

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

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

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

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

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

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

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

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

ブログ,プログラミング

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

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

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

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

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

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

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

ブログ,プログラミング

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

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

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

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

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

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

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

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

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

ブログ,プログラミング

3.論理的思考力(ロジカルシンキング)の向上
  全社会人に必須のビジネス基礎力の1つで
  ある論理的思考力(ロジカルシンキング)は、
  一般的には、頭の中で考えていることを紙に
  書いたり、相手の立場になって物事を考える
  ことによって鍛えられるといわれています。

  論理的思考力(ロジカルシンキング)とは、
  端的にいえば「物事を、筋道を立てて
  きちんと考える力」です。

  この力はプログラミングを学習することで
  必然的に身につきます。

  プログラミングとは、実作業においては
  「小さな命令をいくつも組み合わせ、
  全体で何らかの目的を達成する作業」です。
 

  そのため、プログラミングの学習を進めて
  いくと必然的に、論理を組み立てることが
  トレーニングされ、論理的思考力の向上に
  つながります。

  コンピュータを使って自身の頭の中にある
  イメージを具体化するには、「どのように
  指示をだすのか」「どのように表現すれば
  よいか」を考えながら、形にしていくことが
  求められます。

  そのため、プログラミングを学習する過程で
  論理的思考力や表現力が高まります。

ブログ,プログラミング

2.世の中の仕組みを理解できる
  ITがここまで普及した時代において、
  コンピュータの仕組みを理解していない
  ことは、すなわち世の中の仕組みを
  理解できないことに直結します。

  現在では、電気、水道、ガスはもちろんの
  こと、自動車や医療機器など、ほとんどの
  ものがコンピュータによって管理・制御
  されており、ソフトウェアがないと
  世の中が動きません。

  そのソフトウェアを生み出すスキルである
  「プログラミング」は、世の中の仕組みを
  理解する上で不可欠といっても過言では
  ないでしょう。

ブログ,プログラミング

1.新しい考え方を習得できる
  Appleの創業者スティーブン・ジョブスは、
  プログラミングを学ぶことん重要性に
  ついて、次のように語っています。

  
  アメリカ人は全員コンピュータの
  プログラミングを学ぶべきだと思う。

  なぜなら、コンピュータ言語を学ぶ
  ことによって考え方を学ぶことが
  できるからだ。

  ロースクールに行くようなものだよ。

  全員が弁護士になるべきだといわないけれど、
  現実にロースクールに通うことは人生に
  役立つはずだ。

  一定の方法で物事の考え方を学べるからね。

  実際にスティーブン・ジョブス自身も
  「プログラミングから”考え方”を学んだ」と、
  Code.orgのどうがのなかでいっています。

ブログ,プログラミング

プログラミングを学ぶことの直接的な
メリットは「プログラミングすることによって
新しいソフトウェアやアプリケーションを
制作できる」というものですが、それだけ
ではありません。

プログラミングの基礎を学ぶと、論理的
思考力(ロジカルシンキング)や問題
解決力などが向上することがわかって
います。

ITリテラシの向上も大きなメリットの
1つでしょう。

これらのスキルはエンジニアに限った
ものではなく、子どもから大人まで、
広く一般的に身につけておくべき
「基本スキル」です。

次回から、プログラミングを学ぶことの
5つのメリットについて書いていきます。

ブログ,プログラミング

プログラミングの楽しみは、下記の3つが
挙げられます。

(1)課題をクリアしたときの達成感
   プログラムを作る作業は、難しい数学を解く
   過程に似ています。

   難解な問題を解くにはたくさんの公式が
   必要ですが、それらをうまく組み合わせて
   正解を導く楽しみ、よりスマートな解き方が
   見つかったときの喜びは、課題が難しいほど
   大きいものです。

   同じような達成感をプログラミングでも
   得られます。

   プログラミングでは、思った通りに
   動作しないことがほとんどです。

   突然ひらめいたアイデアを実行して正解した
   ときの達成感は、ふだんの生活でもなかなか
   味わえません。

(2)充実な子分ができる喜び
   パソコンを使っていると、たとえば複数の
   Excelファイルをひとつにまとめたり、
   写真を人物ごとにカテゴリー分けしたりなど、
   同じ操作を繰り返す場面があります。

   プログラムを作れば、そうした作業を
   パソコンにまかせてしまい、自分は自由に
   時間を使うことができます。

   自分は、実行の命令を出すだけで、どんなに
   量が多くて単純な作業でもパソコンが
   終わらせてくれます。忠実な子分ができた
   ようなものです。

(3)アイデアが形になる楽しさ
   プログラミングは、設計から完成まですべての
   工程を自分で行えます。そのプロセスは料理を
   したり、日曜大工で家具を作ったりする感覚に
   似ており、クリエイティブな行為といえます。

   「もっとよくしたい」という欲が生まれ、
   それがさらなる進化につながって行くのも
   同じことです。

   何か作るというのは、クリエイティブな行為
   です。プログラミングも同じで、産みの苦しみ
   から完成したときの達成感まで味わうことが
   できます。

ブログ,プログラミング

英語と同様に、プログラミングのスキルは、
世界共通です。日本国内はもとより、
世界中で使えます。プログラミングに
国境はありません。

実際に、現在のIT業界では、世界中の
エンジニアが各国にいながらにして、
1つのプロダクト(ソフトウェアや
サービス)を共同で作っています。

そのようなことができる環境はすでに
用意されています。基本的な
プログラミング・スキルを身につけた後は、
その世界に足を踏み入れていき、またそこで
さらにスキルを磨いていくことが可能です。

また、プログラミングのスキルは価値のある
「能力」なので、病気や介護、出産・子育て
といった何らかの理由で一時的に離職した
場合でも、スキルがあればすぐに復職できます。

独立して自宅で作業することも可能です。
プログラミングのスキルをある程度
身につければ、実際に実現できます。すでに
実現している人もたくさんいます。

プログラミング・スキルを手に入れることで
可能なる働き方・暮らし方は、今現在
みなさんが想像している以上に多様化している
のかもしれません。

高齢化が進む日本では、仕事のみではなく、
仕事と介護、仕事と育児など、仕事+○○な
世の中になってきています。

そのような人にとって、プログラミング教育を
活かした、ITの在宅業務に就くことが
できれば、時間と場所の拘束性が少なくなり、
仕事を続けられると考えられます。

労働人口を安定して確保することは、
国家として重要な要素のひとつです。