code.orgの小学校向けカリキュラム

code.orgは、小学校向け、中学校向け、高校向けにComputer Scienceのカリキュラムを開発している。

小学校向けのカリキュラムには、4コースで合計80時間分の授業プランが用意されている。Code Studioと呼ばれるブロックプログラミング環境を使う課題が約6割、アンプラグドと呼ばれるコンピュータを使わない授業が約4割含まれている。全体をとおして、以下のような基本的な概念を身につけることを目標としており、授業の中で与えられる課題をとおして、それらの概念を身につけたり理解度を確認することができる。

  • ループ
  • 条件分岐
  • 関数と引数
  • 変数
  • イベント駆動

このように、code.orgの小学校向けのカリキュラムは、基礎的なプログラミングで必要になる概念を理解することだけに注力している。この点でイギリスのSwitched on Computingの内容との違いは明らかで、プログラミング以外の要素をバランスよく織り交ぜているSwitched on Computingの特徴を再認識できる。

code.org

code.orgはコンピュータ科学の教育を広めることを目指すアメリカの非営利団体である。

code.orgは、ビジュアルプログラミング環境を使った教材を開発し、世界中の子供たちが簡単なプログラミングを体験できるようにした。そして、その教材を利用して子供向けの1時間のワークショップ型のイベントを企画するように世界中の教師やボランティアに呼びかけている。その呼びかけに応じて行われるワークショップ型のイベントのことをHour of Codeと呼ぶ。Hour of Codeは、そうしたイベントを様々な地域に広げていく活動のことを指すこともあるし、そうしたイベントで利用されるオンライン教材のことを指すこともあるようである。

Hour of Codeの教材は、未就学児から高校生までを対象にした、プログラミングの基礎を学ぶために開発されたもので、小さな子供でも画面に表示される指示に一つずつ従っていくだけで一人で学習することができる。自習式の教材を使うので、イベントを企画、開催する大人は、子供たちが学習する内容についてほとんど準備に時間をかける必要がない。code.orgは、Hour of Codeのイベントを開催する大人向けに、授業計画のひな形を用意している。1時間のイベントは、およそ以下のような時間配分で行われる。

  1. 導入 2~5分
  2. プログラミング演習 20-40分
  3. まとめ 5-10分
  4. (オプション)確認、今後の指針 2-5分

 Hour of Code は、コンピュータ科学の教育を広めるという大きな目標を見据えて、まずは多くの子供たちにプログラミングを体験してもらうことを狙ったものである。そのため、1時間で完結するような課題が与えられる。

code.org は、20時間のコースと1年間のコースも用意している。基本的には Hour of Code と同じような自習式の教材である。

code.org は、教師向けの教育を目的としたワークショップや、学校向けのカリキュラムの開発を行っているが、次回詳しく見ていきたい。

 

名は体を表す

イギリスの小中学校でそれまであった教科ICTが教科Computingの置き換えられた経緯の中でブレークスルーと呼ぶべき重要な出来事があった。2011年8月に、Eric Schmidt氏がエジンバラでTV業界向けに講演を行ったが、その中で、

「イギリスの学校でコンピュータ科学が正式な科目として教えられていないことには驚いた。今のITカリキュラムではソフトウェアをどうやって使うかに重点を置いているが、どうやって作るかについて教えていない。」 

とイギリスの教育制度を批判した。これに対して当時のDavid Cameron首相が、

「Eric Schmidtは正しい。我々は次世代のプログラマーを十分に教育してこなかった。」

と発言したとされる。そして、その翌年Michael Gove教育長官はスピーチの中で、ICTのかわりにコンピュータ科学を教育課程の中で取り入れていくことを表明した。Eric Schmid氏は影響力の大きい人物ではあるが、外国人の発言が一国の教育制度に変更が加えられるきっかけとなることは普通は考えられないことであり、もともとコンピュータ教育を改善しなければならないという問題意識が高かったのだろうと思う。

さて、日本でも2020年の小学校の学習指導要領にプログラミングが取り入れられたわけだが、一通りの議論を経て、イギリスとは違う方向に向かった。そのことを端的に表すのは、議論の過程で新たに追加しようとした学習内容をイギリスではコンピュータ科学と呼び、日本ではプログラミング教育と呼んだことである。

2013年4月に内閣府の諮問機関である産業競争力会議三木谷浩史氏による発言が議事録に残っている。

「エンジニアの質・量ともにレベルを大幅にアップさせる必要がある。義務教育課程の 中での IT 教育について、特にアメリカではゲーム感覚でプログラミングの概念を教え る。例えば MIT が開発した Scratch のような、楽しみながらプログラミングをマスターできるものがある。こういったものはコストがかからないので是非導入していただきたい。」

日本の場合は2013年の産業競争力会議以降、「コンピュータ科学」という名前が議論に現れることはなく、「プログラミング教育」という名前を使って教育改革を目指していくことになった。

当たり前のことだが、名前は重要な意味をもつ。名前を選び方の重要性を軽視するべきではない。「プログラミング教育」と呼んでしまえば、その中でプログラミング以外のことを学ばせることが難しくなる。プログラミング以外のことを学ばせたいのなら、別の名前を使うべきであろう。

 

Computing at School

Computing at School (CAS) は、コンピュータ科学の教育を推進しComputingを教える教師をサポートすることを目的にするイギリスの非営利団体である。CASは2008年に Microsoft Research Cambridge の4人の活動から始まった(現在は 2万人以上のメンバーがいる)。基本的に個人メンバーからなる草の根的な団体で、参加費を集めていない。2009年より、CASは British Computer Society (BCS)とパートナーシップ関係を結んでいて、CASの草の根的な活動とBCSの社会的な地位が補完し合う関係になっている。また、CASは BCS以外に MicrosoftGoogleなどの企業からも資金的な援助を受けている。

CAS は、イギリスのナショナルカリキュラムに教科Computingを追加する際に大きな貢献を果たした。カリキュラムの作成にも深くかかわった。当初は、コンピュータ科学を一つの学問として小学校からのカリキュラムに採用させることを目標に掲げ、実際にその目標を果たした後は、そのカリキュラムに基づいて行われる教育が実りの多いものになるように、教師や保護者のためのコミュニティづくり、教材づくりなどに取り組んでいる。

CASのカリキュラム案は、様々なコンピュータ関連分野の中からコンピュータ科学だけに範囲を定めた。Jeanette Wingの提唱したComputational Thinkingのアイデアに影響を受け、コンピュータ・システムの仕組みやその原理と応用のしかたに焦点をあてた。また、コンピュータ科学とプログラミングの関係を、物理の授業と物理実験という例を用いて、制度改革にかかわる人たちにわかりやすく説明した。教科の名前はそれまで ICT だったが、カリキュラムの内容をより正確に表す Computing という名前に変更された。

また、イギリスでは KS4の2年間(14才~16才)で GCSE という卒業に必要な資格をとるための勉強を行うが、GCSE の科目として Computer Science が追加された。

このように、イギリスは小学校1年からコンピュータ科学を中心とする教科を作るという、かなり思い切った改革を成し遂げた。日本の現状を考えると、かなり先に行ってしまったように感じる。イギリスのやり方が本当に正しいのかどうかは、数十年後しかわからないが、日本が将来イギリスがたどった道を追いかけることになるとすると、いくつかのマイルストーンがあることがわかる。

  • CASと同じ役割を果たしうる団体を作る
  • コンピュータ科学に範囲を絞った科目を作る
  • 教科の内容を正しく反映した教科名を付ける(プログラミングではダメ)
  • 入試制度、または資格制度にコンピュータ科学を組み込む
  • 教師の多くが授業を運営できるように、サポート体制を整え、それを改善していく仕組みを作る

Switched on Computing (3)

Switched on Computing は、プログラミングや創作活動に偏ることなく、デジタルリテラシーを身に着けるための学習活動も充実した内容になっている。KS1とKS2の6年間で以下の内容を扱う。

  • 電子メールの読み書き
  • お絵かきソフトを使った作品づくり
  • 写真の撮影、編集、アルバムの作成、管理
  • ビデオクリップを用いたコンテンツの作成
  • ビデオ会議、チャット
  • プレゼンテーション
  • 表計算ソフト
  • 統計グラフ作成
  • マインドマップ
  • コンピュータ音楽
  • Webページ、Wikiページ、Webサイト作成
  • ブログ
  • 暗号
  • 幾何学的な模様の描画
  • インターネット検索
  • 3Dモデリング

Switched on Computingのような手引書がなければ、このような様々な内容を授業で取り上げることは簡単ではないだろう。たいていの場合は、幾つかを授業で扱うだけで終わってしまうのではないだろうか。

各ユニットの説明には、授業の進め方について具体的に書かれているので、授業で扱うソフトを使ったことがない教師でもSwitched on Computingの手引きに従って授業を作ることができる。従来の教科では、手引書には教科内容のアウトラインや注意点のみを与え、授業の進め方については教師の裁量を大きくするのが望ましいし、それが当然だとされてきた。しかし、Computingのようなケースでは、教師の裁量が大きすぎると、教師のスキルに依存する部分が大きくなり、多くのクラスで実りの少ない授業になってしまうことが容易に想像される。

 

Switched on Computing (2)

Switched on Computingの内容を見ていくと、プログラミングおよびデバッグは全体の約3分の1を占めていて、その他にデジタルリテラシーに関する内容が含まれることがわかった。

プログラミングに関する単元がどのように設計されているかに注目してみると、

  • 1年生では、Bee-botのような玩具を使ってロボットに予め命令(プログラム)を与えておいて自動的に動かす体験をさせる。幼い子供が初めてプログラムの概念を身につけるには、いきなりコンピュータを触らせるのではなく、できるだけ単純な道具を使うのが望ましいということだろう。
  • 2年生では、1年生のときに身につけた概念をベースにして、Bee-bot を決められた目的地に移動させるプログラムを作り、また、同じようにScratchでスプライトを目的地に移動させるプログラムを作る。
  • 3年生では、アニメーションの絵コンテを作り、Scratchのスプライトでそれを表現する。スプライトの動きを表現するために繰り返しブロックを使う。また、期待通り動かないScratchのプログラムをいくつか見せて、どのようにすれば期待通り動くようになるかを考える。
  • 4年生では、クイズ形式のScratchプログラムを作る。条件ブロックと変数を扱う。
  • 5年生では独自のキャラクタや音声を使ってオリジナルのコンピュータゲームをScratchで作る。
  • 6年生では、テキストベースの簡単なゲームを作りながら、Pythonの基本的な使い方を学ぶ。(ナショナルカリキュラムでは、テキストベースのプログラミング言語を扱うのはKS3からでよいことになっている)

そして、全体をとおして以下の課題を与える。

  • プログラムのロジックを説明させる
  • 論理的な理由付けに基づいて、プログラムを動かした場合の結果を予測させる
  • デバッグさせる

学校によって、Switched on Computingに収録されている内容を順に教えることもあるだろし、必要な単元だけを選択的に授業で扱うこともあるだろう。

授業のスタイルについては、先生によってレクチャー的にもアクティブラーニング的にもできるのではないだろうか。Switched on Computing には、所々に有用な情報へのリンクがあるので、それらを使って内容を膨らませることもできる。

 

Switched on Computing (1)

Switched on Computingは、イギリスEnglandの小学校の約4分の1、6000校以上で使われているとされる教師向けの手引書で、授業をどのように作ればよいかを手取り足取り丁寧に説明したものである。生徒用の教科書は用意されない。

イギリスの小学校も日本と同じく学級担任制で、すべての学級担任の教員がComputingの授業を行う。コンピュータが得意な教員ばかりではないので、授業の作り方を手取り足取り丁寧に説明した虎の巻を用意することは、教師にとっては安心して授業を進められるし、多くの学校で一定水準以上の品質の授業を実現するのに役立つと思われる。

Switched on Computingは、各学年6つの単元で構成されていて、いずれの単元も以下の要素のどれかにねらいを置いている。そして、この6つの要素がバランスよく取り入れられている。

  • プログラミング
  • 計算論的思考(コンピュテーショナルシンキング)
  • 創造性
  • コンピュータネットワーク
  • 生産性
  • コミュニケーション・コラボレーション

各単元は6つのステップに分けられており、各ステップで何を行って何を達成するかが明確になっている。だいたい1時間で1ステップ進めていけばよい。単元によっては、60秒のビデオが用意されていて、授業の中で生徒に見せることができる。その他には、教師が授業内容をより深く理解するための参考資料、授業内容を発展させるアイデア、インターネットにアクセスする場合には安全面に関するアドバイス、学習成果を評価するための観点や基準、言葉の発達の遅い子供に対する対応策やアドバイスなどが含まれる。

このように、Switched on Computing には、具体的な指導内容や細かいアドバイスが書かれているので、多くの教室で実際に行われる授業の内容を知ることができる。したがって、日本で行われているプログラミング教育と比較したり、今後のカリキュラムを考える上でとても参考になる資料だと思う。