paiza開発日誌

IT/Webエンジニア向け総合求人・学習サービス「paiza」(https://paiza.jp ギノ株式会社)の開発者が開発の事、プログラミングネタ、ITエンジニアの転職などについて書いています。

【プログラミングは義務教育化すべきなのか?】という問題を考えてみた

f:id:paiza:20161207132446j:plain
Photo by Chris_Parfitt
f:id:paiza:20140916135428p:plainこんにちは。谷口です。

最近は子供のプログラミング教育や、「義務教育にプログラミングを取り入れるべきか」といった話題をよく目にします。

2014年にリクルートライフスタイルが発表した「2014年度上半期 子どもの習い事ランキング」によると、小学生高学年の「今後、習わせたい習い事ランキング」でプログラミングが7位にランクインしました。

f:id:paiza:20150723180326p:plain
『ケイコとマナブ』2014年上半期子どもの習い事ランキング発表!

義務教育でも2012年度の新学習指導要領により、中学校の「技術・家庭」において選択科目であった「プログラムと計測・制御」は必修科目となっています。

■世界のプログラミング教育

日本では近年より中学校で必修となったプログラミング教育ですが、世界のプログラミング教育はどうなっているのでしょうか。

イギリスでは、2014年から5~16歳でのプログラミング教育が必修化されています。

オーストラリアでは、2016年から8~13歳、フィンランドでも、同じく2016年から7~16歳におけるプログラミング教育が必修化される予定です。

また、エストニアSkypeが生まれた国です)の小学校からプログラミングの授業を実施しようというプロジェクト「ProgeTiiger」や、アメリカの「米国の全ての学校にプログラミングの授業を導入しよう」とするNPO団体「Code.org」等の活動も盛んになっています。

イスラエルでは他国に先駆け、2000年より高校でのプログラミング教育を必修化していました。現在では義務教育で10歳からプログラミング(C++Python)の授業が始まり、15歳まで教育は続きます。

http://samurai-house-israel.asia/reportevent150722/samurai-house-israel.asia

さらに上記の記事にもありますとおり、イスラエルでは高校を卒業すると男女ともに兵役があります。軍隊ではさらにセキュリティやIT技術に関する指導があり、もはや男女ともに国民全体がソフトウェアエンジニアとしての技術を習得できる仕組みが実施されているのです。

これは軍事国家であるからこそ実施できることではありますが、イスラエルにはIT系のスタートアップ企業が集中し、海外の大手IT企業からの投資も非常に盛んです。米国NASDAQへの上場数は約70で米国に次ぐ2位につけており、結果として、イスラエルは小国ながらIT超先進国と化しています。

■プログラミング教育の必修化について

f:id:paiza:20161207132633j:plain
Photo by CollegeDegrees360
現代社会において、IT技術はほぼ全ての産業に関わっていると言っても過言ではないでしょう。

ITの進歩は国としての競争力にも大きく影響を及ぼすため、国際的に見ても、IT先進国では5~7歳といった幼少期からのプログラミング教育の流れができつつあります。ただ日本では、プログラミング教育の必修化についてはまだまだ賛否両論があります。

反対意見としては、「プログラミングはITエンジニア以外には不要」「やりたい人だけ独学でやった方がよい」「プログラミングよりもパソコンのソフトやアプリケーションの使い方を教えた方がよい」といったことがよく挙がります。

確かに小学校では早い気がしますが、中学・高校の授業においてプログラミングを必修化するというのは、よいことだと思います。

プログラミングに興味があるなら専門学校や大学に進んでから学べばよいという意見もあるかもしれません。

しかしプログラミング学習者の集団の中には、全然できない者と、かろうじてできる者と、すばらしくできる者に分かれ、60%の人間はプログラミングの素質がないとする論文もあります。(ふたこぶラクダの論文)

大学以前で多少なりともプログラミングに触れる機会があった方が、己の適性を見極めることができて、進学後に「やっぱり自分には無駄だった……」ということもなくなるかと思います。

60%の人間はプログラミングの素質がない

The camel has two humps

一方で、「やらせるなら早い方がよい」という意見もあるかと思いますが、小学生の段階では、プログラムを考える際の概念の理解や論理的思考、問題理解のための読解力など、さまざまな前提知識がまだ身についていないかと思います。

幼いころからビジュアルプログラミングでゲーム的に概念を習得していくのはよいかと思いますが、それではブロックの組み合わせで表現できるごく基本的なシステムしかできず、プログラミングによって課題を解決するといった、ITを活用する際の本質にはたどり着くことが難しいでしょう。

■教養としてのプログラミング

また、義務教育化を議論する際に必ず出てくるのが「プログラミングのような新しい技術をすべて教えていてはキリがない」という話です。

確かに、技術的に最先端のことばかりを教えていても、数年で陳腐化してしまう可能性はあります。また、専門性が高すぎる分野の学習は、多くの生徒の将来にとって無関係な内容になってしまうため、一般の学校で教えるには不向きかもしれません。

そんな中で、なぜ専門性の高そうなプログラミングを必修化した方がよいかというと、プログラミングは、今や「教養」であると考えるからです。

プログラミングやIT技術は、現代社会においてほぼすべての産業に関わり、インフラとして機能している場合もあります。そういった生活の根幹を成す技術に関して全く知らないということは、自分たちの生活や社会を支える基盤について理解ができていないということと同じです。

例えば、私たちは基本的な生活インフラである水道について、川などから取水し浄水場で処理していること、上下水道があることなど、詳細は分からなくとも、大きな仕組みについてはほとんどの人が理解しているかと思います。電気やガスの仕組みについても同じことが言えるでしょう。

しかしそれに比べると、今やほとんどの現代人の生活を支えているインターネットの仕組みや、そこで使われている技術についてを理解できている人はかなり少ないのではないかと思います。

インターネットは、世界中に非常に大きな影響を与えた技術です。しかしインターネットが登場したばかりの頃は、その可能性のすごさを理解していた人は、一部のプログラミングやIT技術を理解している人たちぐらいでした。

日本から、グーグルやフェイスブックのような企業が登場しないのは、ITによって大きな可能性が生み出されたことに、経営サイドの人間が気付いていなかったり、気付いても技術に対する理解が少ないせいで、新しい発想が生まれてこなかったりすることも原因となっているかと思います。

日本では、学生のときに文系・理系に分けられ、そのまま経営側と技術側の人間に分かれてしまうという人が多いため、技術側にいった人間はビジネス感覚が育ちにくく、ビジネス側の人間には技術が分からない……といったことになりがちです。

新しいビジネスを生み出そうとするスタートアップ企業の中には、ビジネスも技術もデザインも分かった人たちが数人で会社を回していかなければならないということが多くあります。しかし、日本の現場にはそういった専門分野をまたいだフルスタック型の人材がまだまだ少なく、逆に調整は得意だけど実際の技術はほとんどないというゼネラリストが多いため、新しいものが生まれにくい環境にあるかと思います。

教養とは、単なる知的会話のためのネタだけではなく、新しいことを生み出すために必要な、さまざまな領域を横断した知識や経験のことを言うのではないでしょうか。自分の専門分野を活かすためには、別の専門分野との橋渡しが重要になりますが、その「橋渡し」が教養なのだと思います。

現代において、プログラミングやIT技術を全く知らない状態では、時代遅れの発想しか出てこなくなるかと思われます。

■プログラミング教育を実行するために

f:id:paiza:20161207132735j:plain
Photo by SOMANEDU
一方で、プログラミングの授業を増やすとなると、何かの授業を削る必要性が出てきます。

何の授業を削るかというと、さまざまな意見が出てくるかと思いますが、時代の流れと合わせて考えて、今の時代やこれからの時代には合わないものを減らしたり、合体させるとよいかと思います。

戦後の教育は、復興のための経済力向上、国力充実についてを財界から強く要求され、それらを取り入れる形で作られていきました。高度成長期のころはハード中心の加工貿易が主軸だったため、「言われたことを言われた通りに正しくやる」というような、従順で高い生産性を持った人材が必要とされていました。

しかし、現在は答えのない問題に対して、さまざまな専門領域を持った人たちとコラボレーションしながらよりよい道を探り合うような、よりクリエイティブな仕事の重要性も増しています。

例えば、農業や教育のIT化や、食糧問題やグローバリゼーションによる弊害の解決などです。

その昔、高度成長期の頃に1日かけて手作業で作っていた書類や計算処理は、一瞬で作成できるようになりました。単純作業は、既により安い賃金の国の労働者やロボット、人工知能にどんどん置き換えられています。つまり先進国に暮らす人達の求められる仕事の質が急激に変化しているのです

その流れを踏まえて考えると、現状も中学校では技術家庭の時間にプログラミングを教えていますし、技術家庭における金属加工や木工などの時間を多少削って、プログラミングに振り分けるとよいのではないかと思います。

また、古文や漢文などについても、中身を知ることは必要ですが、古文漢文の文法や原文読解の方法は、多くの人の生活において必須のものではないため、時間を短縮してもよいのではないかと考えます。

プログラミングは数学や物理とも関連性が高いため、それらの授業と組み合わせて授業内でプログラミングを利用するということも検討すべきかと思います。

ちなみに私が本当に心の底から削るべきだと思っているのは体育のドッジボールです。

■まとめ

教育に関しては効果はすぐに分かるものではないので、改変には慎重になるべきだとは思います。

しかし各国でのプログラミング教育が盛んになっている以上、あまり先延ばしにできる問題でもないかと思います。

プログラミング教育の場としては、公教育とそれ以外の場が考えられますが、paizaではオンラインでプログラミングが学習できるコンテンツを提供しております。

オンラインでプログラミング学習ができるパイザ・ラーニングには、動画で学習できるレッスンがございます。動画を見たり補足テキストを読んだりしながら、自由にコーディングをして実行結果まで確認することができます。レッスンは今後どんどん追加されていく予定ですので、ぜひプログラミング学習に、教育に、お気軽にご活用いただければと思います。

paiza動画ラーニングについて

f:id:paiza:20160307113923p:plain
paizaには、オンラインでプログラミング学習ができるパイザ・ラーニングという無料学習コンテンツがございます!現在、PHPRubyPythonの入門編を学ぶことができますが、対応言語は今後もどんどん追加される予定となっています。

プログラミング未経験の方でも、「やさしく・楽しく・わかりやすい1本約3分のレッスン動画」 や 「ブラウザ上でコードを書いて実行できるオンライン実行環境」「複数の練習問題」で、未経験者でも無理なく学習を続けることができます。




paizaではITエンジニアとしてのスキルレベル測定(9言語に対応)や、プログラミング問題による学習コンテンツ(paiza Learning)を提供(こちらは21言語に対応)しています。テストの結果によりS,A,B,C,D,Eの6段階でランクが分かります。自分のプログラミングスキルを客観的に知りたいという方は是非チャレンジしてみてください。

http://paiza.jp