平成26年度、文部科学省は「情報教育指導力向上支援事業」という取り組みで、海外のプログラミング教育を調査しました。
調査したレポートは、「諸外国における プログラミング教育に関する調査研究」 にまとめられていますが、262ページもあって、かつ分からない人には全然分からない内容なので、数回に分けて解説したいと思います。
対象国は、23の国や地域。
プログラミング教育において評価の高いところをピックアップしているそうです。
以下、
- 英国(イングランド)
- エストニア
- フランス
- ドイツ
- フィンランド
- イタリア
- スウェーデン
- ハンガリー
- ポルトガル
- ロシア
- アメリカ合衆国(カリフォルニア州)
- カナダ(オンタリオ州)
- アルゼンチン
- 韓国
- シンガポール
- 上海
- 香港
- 台湾
- インド
- イスラエル
- オーストラリア
- ニュージーランド
- 南アフリカ
こうした各国の調査は、章ごとに解説されているので、これに習って一つ一つを分かりやすくしていきます。
最初に登場するのは、英国(イングランド)です。
英国のプログラミング教育は、1995年にIT教科が設置され、1999年にICT教科となりました。
早いですね。沖縄では安室奈美恵さんがデビューした頃です。
ITは「Information Technology」の略ですが、ICTは「Information and Communication Technology」の略でコミュニケーションが含まれます。
ICTに改定された教科では、コンピュータの操作スキルやアプリケーションの使い方に重きを置いて教えられていたそうです。
コンピューターを使ったコミュニケーション方法を学んでいたと言えるでしょう。
2010年頃、政府や産業界から、
「ICT教育じゃあ、コンピュータサイエンスが深く学習されていないぞ!」
という指摘を受けます。
そこで試行錯誤の上、教科「Computing」が新設され、2014年 9月より実施されるに至ります。
これにより、アルゴリズムの理解やプログラミング言語の学習といったコンピューターサイエンス学習が、取り入れられて行きます。
教科「Computing」は、
- CS(コンピューターサイエンス)
- IT(インフォメーションテクノロジー)
- DL(デジタルリテラシー)
の 3分野で構成されています。
ちなみにリテラシーとは、活用能力の事です。
指導時間数は一律ではなく地区や学校によって違うようですが、調査よると、
一般的な小学校(英国ではプライマリースクールと言います)では 週1時間程度。
中学校(セカンダリースクールと言います)でも週1時間だそうです。
ちょっと足りない気がしますね。
教える教員の不足が課題のようで、数学や理科の教員が指導する場合もあるそうです。
英国が考えるプログラミング教育の目的は、要約すると以下のような感じです。
「コンピュータは今や日々の生活の一部になっており、家庭でも、仕事においても、生活していく上で必要不可欠になったね」
「コンピュテーショナルシンキグ(プログラミングを行う時の思考法)は、子供たちが将来働くための準備になるんだ」
「だから新教科「Computing」のカリキュラムは、子供たちが今後の人生において必要なコンピューティングに関する基礎的な技能や知識を身につけ、理解を深めるべく、作成されているのさ!」
「こうした教養を身につけると、世の中を理解できるようになって、よりよく変えてくための創造性が身につくよね!」
「コンピューターを学ぶことは、数学や科学とも深く関わっていて、自然と人工システムに対する洞察力も身につけられるぞ!」
「プログラムやシステム、様々なコンテンツの創造に情報技術を活用できるようになるのが目的さ!」
「これらによってコンピューターを利用した自己表現が出来るようになり、自らの考えを展開するという、将来の職域に適した積極的な参加ができるようにしようね!!」
ほとんど、原文通りですが・・・
目的を達成するための目標は、少し具体的にされています。
ここも原文から抜粋します。
「抽象概念や論理、アルゴリズム、データ表現を含む、コンピュータサイエンスの原理と概念の基礎を理解し、応用できること。 」
「コンピュテーションに関する用語で課題を分析することができ、またそれらの課題を解決するためにプログラムを作成するという実践的経験を積んでいくこと。」
「課題解決のため、新たな、あるいは初めて出会う情報技術を評価したり、応用することができること。」
「責任ある有能で自信を持った創造的なICT ユーザーとなること。」
つまり、パソコンやインターネットを使いこなして、置かれている問題を理解し、今ある技術を使ったり新たに作ったりして解決できる、優秀な人になろう!ということです。
そのための指導内容は、4つのKey Stageと呼ばれる項目に分かれています。
プライマリースクールでは、Key Stage1と2を学びます。
< Key Stage 1>
- アルゴリズムがパソコンやスマホなどの機会でプログラムとしてどのように実行されるかを学習します。
- 簡単なプログラム作成と修正(デバッグ)をすることを学習します。
「こうしたらこうなるかな?」といった簡単なプログラムの予測をすることを学習します。 - 目的に合わせて、デジタルコンテンツを創ったり、整理したり、保存したり、操作したり、呼び出し、検索することを学習します。
学校外での一般的な情報技術の利用についての認識をすることを学習します。 - 情報技術を安全に節度を持って個人情報を守りながら利用することを学びます。これは重要ですね。
< Key Stage 2>
目的を達成するためのプログラムの設計や作成、修正(デバッグ)をすること。
それらのプログラムを小さなパーツに分解することで課題を解決すること。
- プログラムにシーケンス(順次)、選択、繰り返しを使用すること。また、変数や様々な形式の入出力を扱うこと。
- インターネットを含むコンピュータネットワークを理解すること。
- パソコンやスマホなど、いろいろな機械(デバイス)を使えるようになること。
- やってよいこと / やってはいけないこ とを認識すること。
いくつかの簡単なアルゴリズムの説明が出来るようになり、エラーを探し出し、訂正すること。
検索について理解し、効果的に検索出来るようになり、必要な情報を的確に探しだせるようになること。
小学生のうちから割と高度な事を学ぶようですね。
驚き。
そして(いわゆる中学校)セカンダリースクールになると、Key Stage3と4へと進みます。
当然、Key Stage3と4はさらに高度。
< Key Stage 3>
- 社会の課題や物理システムの状態をコンピュータモデルを使って設計、利用、評価すること。
- ある課題に対してどのようなアルゴリズムが適切か、有用性を比較すること。
- 複数のプログラミング言語(うち少なくとも一つはテキストベース)を使いこなせるようなること。
- 数値が2進数ではどのように置き換えられ、どのようにして 2進数で簡単な演算が実行されるのかを理解すること(例:2 進数の足し算、2 進数と 10進数の変換)。
- コンピュータシステムを構成するハードウェア及びソフトウェアを理解すること。
- 命令がコンピュータシステム内でどのように蓄積、実行されるのかを理解すること。
テキストデータや音声データ、画像データといった様々な形式のデータが、2 進数の形式でどのようにデジタル的に置き換えられ、処理されるのかを理解すること。 - 様々なアプリケーションの利用、組み合せを伴う、創造的なプロジェクトに取り組むこと。
積極的に多様なデバイスを横断的に使用し、データを収集・分析し、既知のユーザーのニーズに合致した、挑戦的な目標を達成すること。 - 信頼性やデザイン、使い勝手に配慮した、特定のユーザーのための創造及び再利用、修正、転用をすること。
オンライン ID や個人情報を守り、情報技術を安全にかつ節度と責任を持って確実な方法 で利用する様々な手段を理解すること。
不適切なコンテンツや接触、行為を認識し、懸念を報告するすべを知ること。
< Key Stage 4>
- コンピュータサイエンス及びデジタルメディア、情報技術における、能力、創造性、知識を伸長させること。
- 分析スキル、課題解決スキル、設計スキル、”コンピュテーショナルシンキング”スキルを 伸長させ、応用すること。
- オンラインプライバシーとオンラインIDを守る新たな手段と、様々な懸念をどのように見分け、報告するかを含め、技術の変化が安全性にどのような影響を与えるかを理解すること。
ほぼ原文通りです。かなり本格的です。
英国進んでますねぇ。
教材に使われているのは、以下。
≪初等教育≫ < Key Stage 1・2> Scratch、LOGO、Kodu
≪中等教育≫ < Key Stage 3> Scratch、Kodu、Python
スクラッチが見られますね!
スクラッチはこうした学習に適しているのです。
こんなに高度な内容を教える指導者はいるのか!?という問題ですが、実際のところ専任教員はいなく、学級担任が指導にあたっているそうです。学級担任の負担大きそうですね。
数学や理科の教員が指導する場合もあるそうです。
子供達がどのように学習し、学んだのかを評価する方法についても記述がありました。
Computingは、グループワークが多いそうで、評価方法もテストとは違って次のような手法が推奨されています。
- ⃝自己評価
- ⃝学習者同士の相互評価
- ⃝自由回答式質問
- 学習者同士でのディスカッション
- ⃝目標設定
- KWL(K: 知っていること /W: 知りたいこと /L: 知ったこと)表の活用
進んでいるように見える英国のプログラミング教育ですが、解決すべき問題点もあります。
- 教員のコンピュータサイエンスに関する知識・スキル不足。
- セカンダリースクールにおける教科「Computing」の教員不足。
- Key Stage 3 における指導時数不足。
やはり指導員不足がありますね。
指導時間も足りていないようです。週1だけじゃぁねぇ。
プライマリースクールの授業内容は、課題解決型学習を中心としており、座学だけでなく演習もあります。
演習によって、作品の制作をして評価するというわけです。
友達や先生に自分の作品を紹介し、メールやブログを使っての発疹も行うそう。すごい!
最終的には、他の人と協働してプロジェクトを進める事も!もっとすごい!
まずは1カ国目のイギリスを取り上げましたが、すでに日本の遅れを感じました。
日本の今の小学生が社会に出る時、英国の同級生と渡り合っていけるのでしょうか。。。
ツクルの取り組みをもっと盛り上げないとなと、気合が入りました。