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

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

 

 

イギリスの教科Computing

小学校のコンピュータ教育が最も進んでいる国の一つがイギリスである。イギリスでも1995年までは独立した教科としてコンピュータ教育を行っていたわけではなかった。また、他の国と同じように、ICTリテラシに重点を置いた指導を行っていた。2010年頃から、コンピュータサイエンスが深く学習されていないという政府内や産業界からの指摘をうけ、2014年9月からComputingという独立した教科を設け、小学校1年生から週1時間、プログラミングを含むコンピュータサイエンスやコンピュータリテラシを教えるカリキュラムを導入した。以前はコンピュータをうまく活用できることを目標にしていたが、この改訂で、コンピュータがどのように動いているかを理解し、どうすれば望むように動くかを学ぶという方針に大きく方向転換した。

公立の小学校で一年生からコンピュータ教育を行い、コンピュータサイエンスに関する内容を扱うというのは、かなり思い切った教育政策に見える。イギリスでは5歳から小学生になるので、尚更である。

ナショナルカリキュラムでは、KS1-4の教科Computingの学習の目的を、以下のように定めている。

良質のコンピュータ関連教育(computing education)によって、世の中を理解し変化を起こすような計算論的思考(computational thinking)と創造性を身につけることができる。

Computingは、数学、科学、デザイン、テクノロジーと深い関連性があって、自然界の、あるいは人工的なシステムの両方に対する洞察を与え る。

Computingの中核となるのは、計算機科学であり、情報と計算の原理、デジタルシステムがどのように動くか、また、その知識をどのように 使うかをプログラミングを通じて学ぶ

その知識と理解をベースに、情報技術を使ってプログラムやシステムやさまざまなコンテンツを作れるようになる。

Computingを学ぶことで、デジタルリテラシーを身につけることができる。デジタルリテラシーとは、将来つく職業である程度役立つレベルで、また、デジタル世界の主体的な参加者として、ICTを使って自分を表現したり構想を練ったりできること。

一方、日本の学習指導要領案では、コンピュータ教育は高校に入学するまで単独の科目としては扱われない。小学校では、情報活用能力の育成のためにプログラミングを体験させ、論理的思考力を身につけることを目標にしている。

どの年齢からコンピュータ教育を始めるかは、国によって様々かもしれないが、高校卒業まで、あるいは大学卒業までには同じレベルの能力を身につけられなければ国際競争力を損なうことになる。イギリスの子供が高校を卒業するまでに身につけることを、日本の子供たちは高校を卒業するまでに習得できるだろうか。

Switched on Computing という教材に関して手に入る情報から、イギリスの小学校で何を教えているかを調べてみたい。

 

子供にScratchを使わせてみてわかったこと

半年くらい前から11才の息子にScratchでプログラムを自由に作らせる試みを行っている。自分が昔そうだったようにゲームを作ることに興味があるようだ。私は試しに数か月の間、何も指示を与えることなく、勉強の合間の時間に自由に作品を作らせてみた。

Scratchなどの最近の教育用のプログラミング環境では、他の人のプログラムに変更を加えて自分の作品にすることができる。他の人のプログラムの中から、自分の好きなゲームプログラムを見つけて、それを自分の好きなように変えるという方法は、一からプログラムを作って動かすのに比べて近道のように見える。

はじめはピンポンゲームのような単純な作品を作り、それなりにプログラミングを楽しんだ。その後、他の人のプログラムからスーパーマリオブラザーズのような作品を見つけて、自分のプログラムに取り入れようとした。ところが、他の人のプログラムの意味を理解せずに手を加えるので、いくら試行錯誤しても思うような動きにならない。何週間も取り組んでもいっこうに成果があがらない。どうやら、他の人のプログラムに修正を加えて自分の好きな動きを作る、というやり方には落とし穴があるということらしい。動いているプログラムを部品として取り入れることができるからといって、意味を理解せずに取り入れると、結局手に負えなくなる。まず小さい部品や単純な動きを作るやり方を理解してから、それを組み合わせることによって、より複雑なものを作るようなアプローチが必要なのだ。

プログラミングの構成要素である繰り返しや条件判断については、簡単な説明があれば小6でも問題なく理解できる。ところが、変数を使いこなすのはちょっと難しい。算数では未知数を□などの記号で表すことがあるが、あくまで定数であり、変数ではない。変数を習うのは中学以降である。繰り返しの中で変数の値が変わるようなプログラムの動きを理解するのは、小学生にはちょっとしたチャレンジである。また、小学校の算数ではマイナスを扱わない。したがって、-1をかける式がどういう意味かわからない。論理演算もやったことがない。

これらのことから、Scratchを教材として小学生にプログラミングをさせる場合は、まず、新しい概念についてレクチャー形式で理解させ、比較的簡単な課題をいくつか与えて最低限のコーディングスキルを身につけてもらってから、自由に作品を作らせるのがよいのではないだろうか、と感じている。

そもそも何故プログラミング教育か

プログラミング教育必修化への流れは、安倍内閣の人材育成のための政策の一つで、その流れは2013年には始まっていたことがわかった。では、プログラミング教育は、義務教育の中でどのように位置づけられるのだろうか。

義務教育での学習内容は、誤解を恐れずに言えば、職業に関係なく人間として生きていくために必要な能力・教養を身に着けるための教育と、職業につく準備としての教育にわけることができる。これまでの経緯を見る限り、プログラミング教育は、明らかに後者として位置づけられていることがわかる。

次に疑問に思うことは、今の日本の社会あるいは産業がIT教育について義務教育に求めているものは、今所々で行われている小学生向けのプログラミング教育なのだろうか?小学生のうちにScratchでゲームを動かすことが日本の産業のためになるのだろうか?

プログラミング教育は、生徒にプログラミングを体験させて、論理的な思考力や創造性を伸ばすことを目指すものだとされる。論理的な思考力や創造性とは何を指すのだろうか?また、それ以外のことはやらなくてよいのだろうか?それらの点についてこれからもう少し考えてみたい。

 

 

 

学習指導要領案の公表まで

学習指導要領案ができるまでの経緯を知りたいと思い、内閣府文部科学省のウェブサイトで過去の会議の資料を調べてみた。

第2次安倍内閣は2013年6月に「世界最先端IT国家創造宣言」を閣議決定する。その中で、人材育成のためのさまざまな政策の一つとして、

初等・中等教育段階からプログラミング等のIT教育を推進する

とある。

そして、2016年6月に「日本再興戦略 2016」を閣議決定した。

小学校における体験的に学習する機会の確保、中学校におけるコンテンツに関するプログラミング学習、高等学校における情報科の共通必履修科目化といった、発達の段階に即した必修化を図る。

その目的については、「日本の若者が第4次産業革命時代を生き抜き、主導できるようにするため」とある。ここまでで小学校からのプログラミング教育の必修化という政策の方向性が決まったようだ。

その後、文部科学省中央教育審議会で、小学校段階における論理的思考力や創造性、問題解決能力等の育成とプログラミング教育に関する有識者会議の議論をもとに、「小学校段階におけるプログラミング教育の在り方について(議論の取りまとめ)」がまとめられた。いわゆる「プログラミング的思考」は以下のように定義された。

自分が意図する一連の活動を実現するために、どのような動きの組合せが必要であり、一つ一つの動きに対応した記号を、どのように組み合わせたらいいのか、記号の組合せをどのように改善していけば、より意図した活動に近づくのか、といったことを論理的に考えていく力

そして、その議論の結果が2016年12月の答申の中に盛り込まれた。 答申では、プログラミング教育を、将来どのような職業に就くとしても、時代を超えて普遍的に求められる「プログラミング的思考」などを育むものと位置付けている。

2017年2月に学習指導要領案が公表された。プログラミング教育は、情報活用能力を育成するための学習活動の一つとされた。答申の中では「プログラミング的思考を育む」ことが目標として掲げられたが、学習指導要領案ではより簡潔な記述に置き換えられた。また、各教科にプログラミングを取り入れる例が大幅に削られた。これらの変更から、プログラミング教育を推進する動きが少し後退したのではないか、あるいは、このままでは学習指導要領が形骸化し、教育現場にあまり変化が起こらないのではないか、という見方があってもおかしくない。これからの動向を注意して見ていきたい。

学習指導要領や教科書を改訂するだけでは解決しない問題も多いと思われる。今後そうした問題に対しても、いろいろな角度から考えていきたい。