日本のプログラミング教育は諸外国より遅れているのか?
プログラミング教育を日本の学校で実施することについての議論の際に漠然と日本の取り組みは遅れているというイメージを持っている方は居るのではないでしょうか?
文部科学省のウェブサイトには諸外国での取り組み内容を文献調査、実地調査を交えて調査した260ページにも及ぶレポートが公開されており、このレポートを読むと諸外国でどのような取り組みが行われているかを知ることができます。(蛇足ですが、私は政府や行政の公開した統計や報告書を読むのが趣味です)
学校教育の制度は国ごとに違っており、単純な比較は難しいのですが、なんとか全体像を一覧表にしてみました。 以降の記事では筆者の印象で「小学校」「中学校」といった日本の制度に便宜上言い換えて表現をしますが年数や制度などは日本の制度とは基本的に異なっているのであくまでイメージと捉えてください。
詳細な情報は上記の報告書を読んでいただくとして、報告書を読んでいくなかで特に気になった点をいくつか紹介します。
最先端のプログラミング教育を実施するイングランド
プログラミング教育が小学生段階から最も整備されているのは英国(イングランド)かと思われる。Computingという科目として5歳のKey Stage 1からScratch、LOGO、Koduを使った教育が実施されている。
— Yusuke Ando@プログラミング教育に詳しい (@yando) 2018年7月21日
この報告書には記載されていないが、Micro Bitの配布などの取り組みもありとても充実している。 pic.twitter.com/qgv15zGaTM
イングランドで行われているプログラミング教育は現時点でのフラッグシップと言って良い内容でしょう。 小学校1年で行われる内容もかなり高度です。
- アルゴリズムとは何かを理解すること。すなわち、アルゴリズムがデジタルデバイス上でプログラムとしてどのように実行されるか。アルゴリズムはプログラムが正確かつ明確な指示に従い実行するものであるということ。
- 簡単なプログラム作成とデバッグをすること。
- 論理的推論による、簡単なプログラムの挙動予測をすること。
- 目的を持って情報技術を利用し、デジタルコンテンツを創り、整理し、保存し、操作し、呼び出し、検索すること。
- 学校外での一般的な情報技術の利用についての認識をすること。
- 情報技術を安全に節度を持って個人情報を守りながら利用すること。インターネットや他のオンラインテクノロジーにおけるコンテンツや接触に関して懸念がある際に、どこに助けや支援を求めればよいかを確認すること。
ツールとしてはまずはScratch、Logo、Koduなどが用いられており中学校に入るとPythonなどもやるようです。また実践の例としてはさまざまなロボットの活用やMicro Bitのような教育用のハードも活用しているようです。 イングランドには日本人の方も多く住んでいると思うので、がんばって探せば日本語で状況を伺えるものもあるかもしれません。要チェックですね。
まだまだ限定的なエストニア
みんな大好き(?)エストニア。小学校段階からプログラミングの内容はありますが、実は必須ではなくまだまだ完全に定着したというわけでもない様子。
— Yusuke Ando@プログラミング教育に詳しい (@yando) 2018年7月21日
環境が違いすぎるので比べられるものではないが、日本の2020年以降のプログラミング教育の方が先を行っているのではなかろうか。 pic.twitter.com/oKI1PvHXIH
エストニアは昨今、アーリーアダプターの間で注目が集まっていますが、まだプログラミング教育は選択科目にとどまっており一部で実施されているという状況のようです。 ツールにはScratchやLightbotを使いつつ、外部の団体との連携を重視しているようです。
訪問したベーシックスクールのPelgulinna Gümnaasium では、科目「Informatics」の中の学習項目として、1-3 年生でLEGO Mindstorms を用いたロボットプログラム、4-6 年生でLightbot、Kodu、7-9 年生でScratch を年に4-8 回(1 回は45 分)ほど実施している。1 クラスは30 人ほどである。使用教材、指導時数、指導内容は教員に依存する。
レポートには現地でのヒアリング内容も含まれていますが、ざっくりいうと「ちょっとやる」くらいのボリュームと感じました。
骨太な教育を行うロシア、ハンガリー、インド
東側諸国はまた違ったテイストで強力なプログラミング教育を行っている。ロシアでは小学校段階からいきなりアルゴリズムや論理を学ばせている。
— Yusuke Ando@プログラミング教育に詳しい (@yando) 2018年7月21日
Webプログラマではなく「科学者」を養成しようとしてるように感じた。骨太感。おそロシア。 pic.twitter.com/BKNoD0VpZi
ロシアのカリキュラムは小学校の最初の段階でまず「アルゴリズム」を教えるという所に戦慄しました。 興味を持ちやすいキラキラした教材ではなく、しっかりと考えさせるところからスタートするという事なのでしょうか。
ハンガリーも小学校からプログラミング教育を行っている。文献調査の都合なのか、東側諸国の空気感なのかトレンディーなツールの名前は出てこない。C、Pascal、Fortrsn、COBOLなどでアルゴリズムをやるそうです。 pic.twitter.com/kPvLOz751x
— Yusuke Ando@プログラミング教育に詳しい (@yando) 2018年7月21日
ハンガリーも同様にキラキラしたツールではなく質実剛健な内容で小学校段階からプログラミング教育を行っています。
またインドも背景が複雑なようですが質実剛健としたプログラミング教育を早期から実施しています。
インドは教育制度が複雑すぎて画一的にはまとめられないらしい。が小学2年生の段階からプログラミング教育を行っている。
— Yusuke Ando@プログラミング教育に詳しい (@yando) 2018年7月21日
最終的にC++に到達するあたりにロシアなどとはまた違った「ガチ」感がある。 pic.twitter.com/cHLMS4lykv
おおまかな印象ですが、少なくともモバイルやWebといったトレンドではなくローレベルな技術をリスペクトしているように感じました。
フランス、ドイツ、イタリア、スウェーデンなどは高校段階でのみ実施
フランス、ドイツ、イタリア、スウェーデンなどは小中学校ではプログラミング教育はなく、高校レベルで実施されている。高い年齢で実施されているので職業訓練的な意味合いが強いのか、SQL、PHP、Delphi。個人的にイタリアの高校生がPHPerだという事実が頭から離れない。 pic.twitter.com/4U2Cge2GlB
— Yusuke Ando@プログラミング教育に詳しい (@yando) 2018年7月21日
どうやらヨーロッパの代表的な国々ではプログラミング教育は職業訓練的な意味合いが強く、学校の制度も細分化しているので必要な生徒だけが実務的なことを学ぶというような教育のようです。 報告書を見るとより若年層からのプログラミング教育の議論も起こってはいいるようですが、進行中ということのようです。
アジア諸国は主に高校段階での実施
上海、香港、台湾はICTリテラシーの教育は早期から行っているがプログラミング教育は上海、台湾では高校か香港では中学からの実施となっている。 pic.twitter.com/x9sde13ZPG
— Yusuke Ando@プログラミング教育に詳しい (@yando) 2018年7月21日
シンガポールは中学校からプログラミング教育を実施している。レポートから読み取れるトピックがあまりなく、無難な内容かと思われる。 pic.twitter.com/6KbHhqhf7b
— Yusuke Ando@プログラミング教育に詳しい (@yando) 2018年7月21日
韓国も現実を見据えたプログラミング教育を行い、かつ頻繁に見直している様子。中学生はScratch、高校生はPythonとか非常にスッキリしている。報告書にはサムスンやネイバーの名前も出ていた。
— Yusuke Ando@プログラミング教育に詳しい (@yando) 2018年7月21日
個人的には「技術家庭」という教科が存在している事に一番驚いた。 pic.twitter.com/KYCbnsKETV
アジアの国々では主に中学校や高校の段階からプログラミング教育を実施している。まずICT教育ありきというのは日本とも似たアプローチであるし、タイピングなどの問題も同様にあるのかもしれない。 アジアの中では特に韓国の制度が日本に似ており、また見直しが頻繁に入っている点が目を引きました。
実はプログラミング教育砂漠のアメリカ(カリフォルニア)
最後、アメリカ(カリフォルニア)。シリコンバレーがあるにもかかわらずなんと制度化されたプログラミング教育は存在しないとのこと。
— Yusuke Ando@プログラミング教育に詳しい (@yando) 2018年7月21日
だからこそのシリコンバレー発の様々なEdTechムーブメントなんだなと。「予算削減」「指導者不足」の文字が重い。 pic.twitter.com/YpW1ergyr9
ある意味でこの記事のオチです。カリフォルニアはシリコンバレーがあるにもかかわらず、財政的な問題か画一的なプログラミング教育は行われていないようです。 おそらく理解のある予算のある学校では行われ、そうでないところでは何もできないといった厳しい状況が予想されます。 だからこそのHour Of Codeなどの市民初のプログラミング教育が盛り上がっているんですね。
まとめ 日本のプログラミング教育はBグループ?
ここまで各国のプログラミング教育の制度を見てきましたが、どのように感じましたか? 日本のプログラミング教育に対して肯定的な見解を持っている人はあまり多くはないとは思いますが、中学校から必須でプログラミング教育を実施し、今後小学校に拡大しようとしている日本は先頭集団ではないものの、比較的充実した教育を行っている国なのではと個人的に思います。
より高度な取り組みを参考にする上ではイングランド、ロシア、インドといった国々の取り組みが参考になりそうです。一方で大きな意味での教育の目標や産業の構造が違いますから、他国の取り組みをそのまま持ってくるという事も難しいでしょう。 そういった意味ではこれからプログラミング教育を早期に行おうとしている様々な国々の教材や制度は同じような現状から議論されているのでかえって参考になるかもしれません。
今回の記事は私の独断も多くありますので、興味をもった方はぜひ原典をお読みになってください。
日本のプログラミング教育の制度や実際の教育内容は以前書いた記事を御覧ください。