読者です 読者をやめる 読者になる 読者になる

paiza開発日誌

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

5歳からプログラミング必修!?日本とはレベルが違う、IT先進国の教育とは

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

先日、バラク・オバマ米大統領がコンピュータサイエンスを初等・中等教育課程の授業に組み込むための支援策「Comupter Sience for All」において、向こう3年間で40億ドル(日本円で約5000億円弱)を拠出する予定があることを発表しました。

www.itmedia.co.jp

オバマ氏は、過去にも何度かIT教育・プログラミング教育を重要視する発言を残しています。

世界的に見てもIT技術や業界規模が急激に成長していく中で、より多くのエンジニアが必要とされています。

昨年の12月に文科省が改訂・公開した「諸外国におけるプログラミング教育に関する調査研究」を見ると、国ごとのプログラミング教育事情がわかります。(※この調査研究、去年6月に発表されて内容がひどすぎるということで話題になりましたが……半年後に公開されたかなり大幅改訂版がこちらです)

今回は、諸外国のIT教育・プログラミング教育事情についてお話していきたいと思います。

■諸外国の前に日本のプログラミング教育について

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

文科省の解説には

プログラムによる計測・制御について,次の事項を指導する。
ア コンピュータを利用した計測・制御の基本的な仕組みを知ること。
イ 情報処理の手順を考え,簡単なプログラムが作成できること。

とありますが、実際に「プログラムと計測・制御」に与えられる時間数は、中学3年間トータルで5~8時間ほどしかないそうです。この時間数で「計測・制御の基本的な仕組みを知ること」「簡単なプログラムが作成できるようになること」(この簡単なプログラムがどの程度のものを指しているのかはよくわかりませんが……)はなかなか難しいかと思います。

また、昨年12月に開催された「第8回日本情報科教育学会のフォーラム」にて実践報告をした稲川孝司大阪府立東百舌鳥高校教諭は

(高校)1年生でプログラミングの授業をした。本来、中学校でやっているはずなのに、10分の1くらいしか授業を受けたことがなかったという。はじめに随分と時間がかかってしまった。中学校でやっていてくれれば、高校でもう少し先の内容までできる。

と、実際には中学での学習が追い付いていないことを指摘しました。

政府は、プログラミング教育に対する教員の知識、経験不足や教材、指導事例の不足などの指摘を受けて小・中学校の教員に対する指導手引書を年内に作成するそうですが、かなり今更感がありますし、教員の経験不足やコストに関する問題は手引一つで解決できるものではないと思われます。

第2章 各教科 第8節 技術・家庭:文部科学省
プログラミング教育を 指導教諭の育成が課題 | 教育新聞 電子版
政府、プログラミング教育の指導手引書 年内に作成 :日本経済新聞

■「諸外国におけるプログラミング教育に関する調査研究」をもとに考える世界の教育事情

f:id:paiza:20161205135808j:plain
Photo by Neeta Lind
諸外国において、プログラミング教育が必修か否か、どの教育課程に組み込まれているかは以下のようになっています。

初等教育段階(日本の小学校に相当)

必修科目:イギリス、ハンガリー、ロシア
2016年から必修化予定:オーストラリア、フィンランド

前期中等教育段階(日本の中学校に相当)

必修科目:イギリス、ハンガリー、ロシア、香港
選択科目:韓国、シンガポール
2016年から必修化予定フィンランド

後期中等教育段階(日本の高等学校に相当)

必修科目:ロシア、上海、イスラエル
選択科目:イギリス、フランス、イタリア、スウェーデンハンガリー、カナダ(※オンタリオ州)、アルゼンチン、韓国、シンガポール、香港、台湾、インド、南アフリカ

各国でプログラミング教育がどのような扱いとなっているか、一部になりますが詳しく見ていきましょう。

◆イギリス

イギリスでは2012年から、従来の教科「ICT」を改め、新たにコンピュータサイエンスを学ぶための独立した専門教科「Computing」を創設し、2013年から初等・中等教育課程(5歳~15歳)の全学年における必修科目として取り入れています。

「ICT」の頃はコンピュータの操作やアプリの使い方などを教えていましたが、2010年初頭にコンピュータサイエンスが深く学習されていないという指摘を政府や産業界から受け、2012年にアルゴリズムの理解やプログラミング実践などを取り入れた内容に変更がされました。「Computing」は、大きく分けてコンピュータサイエンス(CS)、情報技術(IT)、デジタルリテラシー(DL)の3分野で構成されています。

初等教育段階でのプログラミングは、実体物を動かしたり、図やアニメーションを制作したりする体験活動を通して、論理的思考能力を育てる手段として扱われています。また初等教育のうちからパソコンやビジュアルプログラミングツールを使用して、アルゴリズムの理解を深めたり、またオンラインにおける個人情報の取り扱い等に関するリテラシーも教わったりするそうです。

そして日本の中学校に当たるセカンダリースクールでは、ビジュアルプログラミングに加え、Pythonなどの言語を使ったプログラミングプログラミングも学ぶそうです。ここでは「〇〇ゲームを作る」などの数時間かけて取り組む課題が与えられるそうです。中学校でPythonの授業があったりするのか…!

また、実際の授業では、教室内に教員のほかにティーチングアシスタントやデジタルリーダー(「Computing」の成績が優秀な上学年の児童)がいて、質問に対応したりしているそうです。日本の大学の授業みたいですね。

教員は日本と同様に初等教育は担任教員、中等教育以降は専任教員が教えることになっていますが、教員の知識が足りない、専任教員が足りず数学や理科の担当教員が兼任している、教員より知識や技術の理解が深い児童・生徒への対応方法など、様々な課題があります。こういった教科は近年急速に学校教育に取り入れられるようになったため、多くの国で教員不足が叫ばれています。

子供達のプログラミング教育手段に加えて、そもそも誰がプログラミングを教えるのか・教える人はどう育成したらよいのかということも世界的に課題視されていますね。

ハンガリー

中央ヨーロッパに位置するハンガリーは、面積は日本の約4分の1、人口は日本の約13分の1ほどと比較的小さな国ですが、人口約1,000万人に対してノーベル賞受賞者を14人も出しており、人口に対する受賞率は世界一です。国を支える教育水準は世界的に見ても高い方で、日本で言う小学校~高校(6歳~18歳)までが義務教育と定められています。

ナショナルカリキュラムには「課題解決の手法というITのテーマは、教育上の目的の中においても、主要能力(Key Competencies)であり、生活の諸相に表れてくるものであり、特別な扱いとするべきである。」また「「問題解決のツールとテクニックとしてのIT」は、論理的思考、アルゴリズム化、基本的なシーケンシャル及び制御プログラム機能を学び、実際にコンピュータプログラムを作成しテストする。また、異なる分野の問題や現象をプログラムを用いて学びシミュレートし、様々なプログラムによって生成されたアルゴリズムの解釈において、及び重大なアプローチの開発において、問題解決技能を学ぶことが、応用力を身につける後押しとなる。」と記されており、直接的なITの使い方だけでなく、アルゴリズムの勉強やプログラミングを通して、問題解決力や応用力を育むことを重視しています。

ハンガリーでは2003年から初等教育の低学年のうちから「Informatika」という専門科目を導入してインターネットにおける検索手法などを教えるようになり、現在では初等・中等教育課程(6歳~15歳)における必修科目とされています。

「Informatika」はITツールの利用法・アプリケーションの知識・問題解決のツールとテクニックとしてのIT・21世紀におけるインフォコミュニケーション・情報社会・図書館情報学の6つの分野にて構成され、「問題解決のツールとテクニックとしての IT」の授業においてアルゴリズムやプログラミングを学びます。また中等教育(10歳から15歳)からはプログラミング学習を含む授業となっています。

◆ロシア

ロシアはリーマンショック以降、ロシア版シリコンバレーとも言われる国家的プロジェクト「スコルコヴォ」計画(スコルコヴォとは経済特区地域の地名です)を実施しています。「スコルコヴォ」計画では医療、エネルギー効率、核エネルギー、宇宙通信、ITにおける近代化優先5分野関連のベンチャー育成を目指していることから、IT教育・人材育成の重要性が叫ばれています。

これまでロシアは国内でも経済政策が自然資源に頼りっきりと言われ、優秀なロシア人たちはアメリカの大学・大学院に進学してしまう傾向にありました。このような頭脳流出を防ぐために政府もベンチャー支援を通じて国内産業を育て、頭脳流出を防ぐことを考えているようです。

さらに産業界からの要請もあり、ロシアでは2009年から初等教育、2010年から中等教育におけるプログラミング教育を含む「インフォマルティカとICT」の必修化を開始しました。

専門教科教育振興機関であるサラトフ教育情報局が作成した解説集には、「コンピュータサイエンスは、様々なシステム、方法、ツールや情報プロセスの自動化の技術などの情報の処理の流れを支配する法則の科学である。それは、現代の科学的な世界観、知的能力の発達、そして生徒が寄せる関心を促し、ITに基づいた発展は、生徒の教育プロセス及び日常生活や将来に不可欠なものである。」と記されています。

「インフォマルティカとICT」の授業は、初等教育では関連科目の一部となっていますが、中等教育(10歳から14歳)では、専門科目として独立しています。

初等教育では算術演算を数字と数式にて表現し、問題を解決する能力や簡単なアルゴリズムを構築する力を付けさせています。また、幾何学的な図形を特定し描き、表、チャート、グラフや図表、順序集合を用いたり、データを集計、分析し解釈する力を付けさせ、プログラミング教育とつなげています。

中等教育では、アルゴリズム的思考の開発、アルゴリズムを作成するための技能を身につけさせるとしています。また、アルゴリズムの値、論理的操作に関する知識、主要なプログラミング言語アルゴリズムの構造の一つ(順次、条件分岐、繰り返し)に精通させると記されており、アルゴリズムの学習がかなり重視されているようです。

イスラエル

f:id:paiza:20161205140028j:plain
Photo by Danilo Tic
イスラエルでは1970年代半ばからコンピュータ教育の必要性を認識し、教育省の専門委員会が「Computing」カリキュラムを開発して、高等学校でのコンピュータリテラシー教育やBASICなどによるプログラミング教育が始まりました。

さらに95年、ジュディス・ガル=エゼル教授が「Computer Scienceは高等学校(10-12 年生)で物理、生物、化学などと同等の教科として教えられるべきである」「プログラミング言語だけでなく、アルゴリズムの原理やプログラミングによる実装を教えるべきである」と提言しました。これを受けて国も「Computing」科目を「Computer Science(CS)」とし、「アルゴリズム的思考を開発し、アルゴリズムをプログラミングで実装する」ことを目的としてカリキュラムの改定を行いました。

また、各国が指導者不足を課題とする中で、イスラエルでは高等教育における指導者は、大学でCS学士号を取得し教育省による教員免許が必要であると規定し、教育省が2000年に設立した国立コンピュータサイエンス教員センターでも専任指導者の養成に取り組んでいます。

現在、イスラエルの高等学校ではCSは最短でも3年間で90時間(毎週1時間を3年間)を必修とし、選択できるより高度なコースでは270時間、最も専門的なコースでは450時間にのぼり、これは日本で言えばほぼ数学や国語の学習時間に匹敵します。

実際、経済的にもコンピューター分野でイスラエルは人口に比して非常に強力な国であり、世界中の企業がイスラエルの技術を競って買う状況となっています。

教育体制に加え、イスラエルでは男女ともに兵役制度があるため、軍での勤務を通しても、多くの人が軍備のために実践的なITスキルを習得しています。そのITスキルを活かして、徴兵期間の終了後に多くの若者が起業をしているそうで、イスラエル米国NASDAQへの上場数が米国に次ぐ2位で、日本や欧州諸国よりも一桁多くなっています。

シンガポール

シンガポールは、早くから情報通信産業を国の基幹産業と位置付け、教育分野にもITインフラを導入してきました。特に2009年からはIT教育環境を充実させ、知識集約型経済で成功するための能力を児童・生徒に身につけさせるための実践的な計画を推進しています。

教育省は「ICT活用マスタープラン」を発表し、2003年には第2次計画としてICTのカリキュラムへの統合を強化したり、2005年には国立教育研究所と教育省が共同で次世代技術を研究する科学学習研究所(Learning Science Lab)を設立したりしています。

さらに、2009年には第3次計画として ICTのカリキュラムへの統合教育方法、教育評価を強化して学習効果を高め 21 世紀に必要な能力を開発する、より実践ベースで ICT を効果的に利用した教育方法の開発と提供、成功事例や新事例の共有化の促進、学校への ICT 設備導入支援などを挙げています。

シンガポールでは、中等教育で普通校技術系コースに入ると必修教科「Computer Applications」においてプログラミングを学ぶことになっており、全面的な必修科目にはなっていませんが、いくつかの学校ではプログラミングに関する応用クラスや副カリキュラム活動、またクラブ活動などにおいてプログラミング学習の場を設けています。また、日本で言う高校教育では選択科目になっています。

「Computer Applications」では、ビジュアルプログラミングを使ったスクリプト記述ソフトウェアの導入、また、ストーリー作りや英語の命令文、短文の指示、フローチャート作りを通してのプログラミングと問題解決、テキスト、グラフィックス、音声などのメディア要素がどのようにしてアニメやゲームのようなエンターテイメントメディアに統合されているのかを体型的に学びます。

シンガポールも産業界からの要請を受け、国の競争力を高めるため戦略的に情報通信技術の普及を促進しているので、教育計画もその一環と言えるでしょう。

◆オーストラリア

オーストラリアは、これまで国としてカリキュラムを定めていなかったため、「Australian Curriculum」と呼ばれる就学準備学年~10年生を対象とした統一カリキュラムを新規に策定してきましたが、2016年からプログラミングやコンピュータサイエンスについて学ぶ「Digital Technologies」が就学準備学年~8年生(5歳~12歳)で必修、9・10年生は選択科目となる予定です。また、プログラミング教育は3-10年生(8歳~15歳)のカリキュラムに組み込まれています。

カリキュラムでは一般的なデジタルシステムの利用方法から学び、情報収集や共有の方法やビジュアルプログラミングを含むソリューションの設計・実装などを学んでいくようです。導入後の様子は報告が待たれるところですね。

■まとめ

地域性もあると思いますが、私は先進国としては日本のIT教育は遅れている方だと思います。「既存の科目を削ってまで入れろ」とは言えませんが、これだけITが普及した現在、もう少し教育課程に追加していかないことには大人になってからの可能性が狭まってしまうと思います。

現在はどんな業界・職種でも、ITを駆使して業務を進めることがかなり多くあります。ITエンジニアという仕事に就く就かないは別にしても、ITリテラシーやコンピュータの動作原理を知っておく必要があるのではないでしょうか。

また、諸外国の教育内容を調べていて印象的だったのが、多くの国で幼い頃からアルゴリズムの考え方を教える教育をしていたことです。日本ではあまり学ぶことがないかと思いますが、論理的にアルゴリズムを考える思考能力は、IT分野に限らず課題の解決方法や物事を考える際に役立つと思いますので、もっと日本の教育課程にも取り入れてよいのではないかと思います。

情報教育指導力向上支援事業(諸外国におけるプログラミング教育に関する調査研究)|学校教育分野|教育の情報化


paizaでは、より多くの人が気軽にプログラミングに触れたり学んだりできる機会を作りたいと考え、パイザ・ラーニングの動画学習レッスン(1本約3分、無料)を実施しております。

f:id:paiza:20150213152613p:plain
このように、無料で動画を見たりや補足テキストを読んだりしながら、自由にコーディングをして実行結果まで確認することができます。動画を見た後に演習課題が用意されているので理解を深めながら学習が可能です。現在はRubyPHPの学習動画がありますが、今後はPythonJavaJavaScript、HTML/CSSの講座も追加されるとのことですので、ぜひプログラミング学習に、教育に、お気軽にご活用いただければと思います!




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

http://paiza.jp

プログラミング入門講座|paizaラーニング

PHP入門編Ruby入門編Python入門編Java入門編JavaScript入門編C言語入門編C#入門編アルゴリズム入門編