高校教科「情報」シンポジウム2016秋・講演
動き始めた情報教育の改革をさらに良い方向へ導くために、私たちにできること ~学習指導要領の状況とプログラミング教育
大阪電気通信大学 兼宗進先生
次期学習指導要領の審議取りまとめの公開
次期学習指導要領がかなり固まってきました。10年ぶりの改訂で、おおまかに言えば2020年頃から始まって、2030年代の初めまで全国の小・中・高で使われるものです。8月26日に、中央教育審議会初等中等教育分科会教育課程部会が「次期学習指導要領等に向けたこれまでの審議のまとめ」を公開し、パブリックコメントを募集しました。情報処理学会からもコメントを提案し、現在は寄せられた意見をまとめているところだと思います。
検討の経緯としては、今回は個別の議論をする前に、「論点整理」として、昨年2015年の夏に全体の大方針を決めたことが特徴です。その方針を受けて、小・中・高校や特別支援学校でどういうことをするのか、もしくは各教科でどのようにやっていくのかということを審議しました。その結果を、今年の6月頃に各ワーキングから報告して内容を整理して、8月末に先ほどの取りまとめを公開したという流れです。
ただし、小学校のプログラミングに関しては、最初から実施するということがはっきり決まっていたわけではありませんので、今年の4月に政府の方針として決まった後に、急遽有識者会議を作って内容を検討しました。
私が参加したのは、「情報のワーキンググループ」と「小学校のプログラミングの有識者会議」の2つになります。
今後のスケジュール(予定)については、小学校が一番早くて2020年度から実施されます。小学校と中学校は今年度中、つまり2017年3月までに学習指導要領が決定する予定です。高校の学習指導要領は1年後の2017年で、実施は2022年です。高校の「情報」の見直しも大きいですが、2020年4月からプログラミングが必修となる小学校よりは、まだ少し余裕があります。
これまでの審議のまとめについては、下記のURLにPDFが置かれています。
http://www.mext.go.jp/b_menu/shingi/chukyo/chukyo3/004/gaiyou/1377051.htm
国の政策として「情報」重視の傾向が強まった
今回の審議は図に示すような組織で行われました。今回、取りまとめを行う教育課程部会の下に企画特別部会が作られて、これが全体方針を決めました。
図の中段・右側に、幼児・小学・中学・高等・特別支援という学校種別の部会があります。下の方には教科別のワーキンググループがあり、学校種を横断する形で教科別の議論がなされました。
全体的な考え方としては、前回の改訂では「生きる力」が前面に打ち出され、今回の学習指導要領にもそれが継承されています。
また、情報化やグローバル化が進み、21世紀は知識基盤社会であることから、人工知能やIoTといった言葉が様々なところに出てきます。国の政策として「情報」を重視することが打ち出されているわけです。
そして、学びの観点も変わってきます。「何を教えるか」ということだけでなく、「何ができるようになるか」「どのように学んでいくか」ということが重視されるようになります。また、学校ごとのカリキュラムマネジメントや、よく言われるアクティブラーニングも入ってきます。
さらに、情報に関わることとしては、小・中・高を通して「情報活用能力」が重視されています。教科を越えた学習の基盤として、例えば「小学校でもタブレットや電子黒板などICTを効果的に使った授業を行う」ことが打ち出されています。その中には、プログラミングや情報モラル、セキュリティー、統計といった言葉も入っています。また、生活の中でスマートフォンやSNSを小さい年齢から使うようになっていますので、それらの対応を考えていくことも重要です。
ところで、最近の小学校ではパソコン教室を使うよりも普通教室でタブレットを使う活動が進んでいるようです。そのため、個人的には「我々の世代では当たり前だったキーボード入力やブラインドタッチなどは消えてしまうのかな?」と思っていたのですが、意外にも大量の情報を処理するためにはキーボードによる文字入力が大切である、という話がありました。文字の入力は学習の基本になるため重視されるのはよいことですが、将来も現在のキーボード入力が前提でよいかということは引き続き検討が必要と感じています。
そして、小・中・高でプログラミング教育が必修化されますが、今後は具体的にどの段階でどういう教育内容をするのか、という議論を続けていくことになると思います。
先ほども触れましたが、「情報活用能力は全教科で育成していく」ということになっています。例えば国語ではローマ字学習と結び付ける。算数・数学では、問題解決のあとでアルゴリズムの理解と結び付ける。理科であれば、得られたデータを整理して処理する、というところに使ったらどうか。そして道徳ならば情報モラルを入れなければならないのでは、というような話が出ました。いずれも重要な視点だと思います。
小・中・高のどの段階で・何を学ぶのか
小学校でのプログラミング教育の目指すもの
以上が、私から見た全体的な概要です。ここからは、小学校・中学校・高校の順に、具体的に情報教育の内容を見ていきたいと思います。
まず、小学校でのプログラミング必修化は大きいです。2016年4月に内閣総理大臣が記者会見を開いて「小学校・中学校・高等学校でプログラミングを必修化する」ことを宣言しました。それを受けて、「小学校段階における、論理的思考力や創造性、問題解決能力等の育成とプログラミング教育に関する有識者会議」という長い名前の会議が、5月と6月に開催されました。3週間で3回開催という集中的なスケジュールでした。
この会議には、現場の教員や企業、NPOの方を含めて幅広いメンバーが参加しました。私は理学系・工学系の研究者の代表として参加した形です。
そこでまとめられた報告書にはいろいろなことが書かれていますが、やはり重要なのは「プログラミング教育とは何なのか」ということだと思います。有識者会議の文科省の見解としては、「子どもたちに、コンピューターに意図した処理を行うよう指示することができるということを体験させながら、将来どのような職業に就くとしても、時代を超えて普遍的に求められる力としての『プログラミング的思考』などを育成するもの」となっています。コンピューター科学の研究者からすると、「『プログラミング的思考』って一体何だろう。聞いたことがない言葉だぞ」と思われるかもしれませんが、プログラミングを学ぶことの意義を説明していること自体は悪いことではないと思います。
プログラミング的思考については、「自分が意図する一連の活動を実現するためにどのような動きの組み合わせが必要であり、一つ一つの動きに対応した記号をどのように組み合わせたらいいのか、記号の組み合わせをどのように改善していけば、より意図した活動に近づくのか、といったことを論理的に考えていく力」と定義されています。理解が簡単な文章ではありませんが、私は「論理的に考えた内容を手順の形に整理して、記号(プログラムの命令)で表現する」ことを意味しているように理解しています。
この図はプログラミングで育成する能力を小・中・高でどのようにとらえるか、という説明です。小学校では、「身近な生活でコンピューターが活用されていることや、問題の解決には必要な手順があるということに気付いてほしい」ということです。妥当だと思います。中学校ではもう一歩進めて実際の問題解決にコンピューターを活用し、高校ではさらにコンピューターの働きを科学的に理解することが求められています。
小学校でのプログラミングの目的は、次のように説明されています。コンピューターに意図した処理を行うように指示する体験というのは、コンピューターはプログラムで動いていて、制御することができることを体験して理解すること。そして、プログラムは身近な生活の中で役立っているのだな、ということを体感させることですね。そして、先ほどの基礎的なプログラミング的思考を身に付ける。さらにコンピューターの働きを自分の生活に生かすために、どういうところにプログラムを使えばいいのかということを理解させよう、ということだと思います。
実際にプログラミングを指導するにあたってどのようなことに留意するか
自分が有識者会議に参加できて良かったと思うことがあります。「プログラムを学ばせる」というと、どうしてもソースコードを書かせることに目が行ってしまいがちですが、「トランプのようなカードを使って、アルゴリズムを学習するといったこともやった方がよい」という提案をしたところ、報告書に「コンピューターサイエンスアンプラグドも有効です」という意味のことを書いていただくことができました。
これは小学校のプログラミング教育の留意点として挙げられている内容です。まず、コーディングを覚えることが目的ではないことが明記されていて、これはよいと思います。ただし、例として挙げられている「順次・反復・分岐を体験することは構わないが教えてはいけない」となると、一体プログラムで何を学ばせるのか、という点は議論になるかもしれません。
また、「1人でパソコンに向かって黙々とプログラムを組むという学習は良くない」という形でのグループ学習と、「生活や体験と切り離された抽象的な学習内容はダメ」ということが明記されています。これは一般論としてはそのとおりなのですが、本当は国が求めているはずの「ひとりでじっくりプログラムと向き合う」ことが好きな子供にとっては辛いことにならないかという点は密かに心配しています。
こうやって楽しく学んでコンピューターに触れることが好きになるということはとてもよいことですが、「ただ楽しいだけでは不十分で、結局プログラムを通して何を学ばせるのかということはしっかり考えてください」と書かれています。小学校では「情報」という教科がありませんので、各教科で学習する内容がこれに当たるのかと思います。
プログラミング教育の前提としては、「言語能力や論理的に考える力を各教科で育成してください」という指摘がありました。
また、小学校は学級担任制で、1人の先生がいろいろな教科を教えていくというメリットを活かして教育課程全体を見渡したうえで、どこでプログラミングを取り入れたらよいかを考えることが期待されています。学校としても、どの学年のどの教科のどんな単元でプログラミングを実施するかは学校ごとに決めることが期待されています。裁量があるのはよいことですが、必修になると必ずやらなくてはならないため、どのように実施したらよいかという点に不安を感じている先生方も多いのではないかと思います。
そのために、国としては学習指導要領で具体的に解説をすることに加え、指導事例集を作って広く普及させることで、学校に情報を伝えていく方針があるようです。
実施する科目の例としては、総合的な学習の時間でプログラムを体験させながら、各教科で多様なプログラミング教育を取り入れる方向で、図にあるように各教科での事例が紹介されています。
実施のための条件整備については、小学校の先生は、今のところまったくコンピューターの教育の研修等を受けていないので、その体制を作ることが必要であること、その後の支援をどのように続けていくか、ということが挙げられています。重要なことだと思います。
個人的には、せっかく「情報」の重要性が認められて小学校からプログラムという流れになってきましたので、結果として児童・生徒が不幸せになってしまったり、先生方が大変になってしまったり、ということはあってほしくない。そのような事態を防ぐための支援は重要と考えています。
中学校の技術・家庭~「ネットワークやデータを活用して処理するプログラミング」が加わった
現在、中学校の技術・家庭の技術分野は、「材料・加工」「生物育成」「エネルギー変換」「情報」という4つの分野があり、情報が含まれています。今まで、プログラムをきちんと教える場というのは、中学校の技術科だけでしたが、その内容は、ロボットを動かすなどの計測・制御に限定されていました。今回の見直しで大きく変わったのは、「動的コンテンツ」として、アニメーションやゲームなどを含む自由なプログラムを扱えるようになったことが大きな変更点です。さらにここに「ネットワークやデータを活用して処理するプログラミング」も題材として扱えるようになった点は大きな意味があると感じています。
高校の共通教科「情報」~原案の「問題解決とシミュレーション」が「コンピュータとプログラミング」
最後に高校の共通教科「情報」を見ていきましょう。2003年度に「情報A・B・C」の3科目からスタートした教科「情報」は、2013度から現行の「社会と情報」「情報の科学」という2科目になり、今後は「情報Ⅰ(仮称)」という1科目になる予定です。そして、発展科目として「情報Ⅱ(仮称)」が用意されることになります。
全体の方針は「情報の科学的な理解に裏打ちされた情報活用能力」です。今までの「社会と情報」の内容も残りますが、科学的なことをバックボーンにする、というのはとても良い方向であると思います。
また、これは今後の動きが注目されるところですが、統計やデータの分析といったことが、もう少し手厚く入ってくる見込みです。数学のワーキングでも「情報」と連携して統計やデータの分析を教えることの議論が行われたと聞いています。
「情報Ⅰ(仮称)」は、必履修科目としてすべての高校生が学ぶ内容で、図にあるような位置付けになっています。プログラミングがきちんと位置付けられていることが特徴です。
モデル化とシミュレーションは、現行の指導要領にも入っているので、継続して行われます。それから、ネットワーク関係およびそれに関連する情報セキュリティー、データベースや情報システムにつながる基礎を学ぶことになります。
具体的には四つの柱があり、現行の「社会と情報」に含まれていた「情報社会の問題解決」「コミュニケーションと情報デザイン」もきちんと残ります。3つ目の「コンピュータとプログラミング」は、もともと「問題解決とシミュレーション」でした。しかし、これでは漠然としていて何をする内容かはっきりしないという意見があり、「プログラミング」を明記する形になりました。
「情報Ⅰ(仮称)」の発展科目が「情報Ⅱ(仮称)」です。私のイメージとしては、情報Ⅰが自分のパソコンで行う学習であれば、情報Ⅱは、教室や学校を越えて社会とつながる、という感じで、大きな情報システムや、世の中の多様なデータをどうやって分析するか、ということに発展させていく方向性と思っています。
具体的な内容は、大きくは情報Ⅰをそのまま発展させた形になっています。3番目に「データサイエンス」という言葉が入ってきて、データの科学的な分析等を行っていくことがはっきり打ち出されました。意欲的な提案と感じています。
教材や教育環境整備は喫緊の課題
今回打ち出された新しい教育を実施するためには、あらかじめ準備や整備が必要です。この点については、教材や教育環境の充実が提言されています。IT技術を使って学習を支援することが求められますし、プログラミングを必修にするなら全ての学校にパソコンやタブレットを用意することが前提になります。さらに、授業に必要なソフト開発の環境やアプリケーションを先生がインストールする権限も必要になるでしょう。このような学習環境については、新しい指導要領が施行される4年後、もしくは6年後を見据えて、新しい教材を民間等と協力して作っていく必要があると書かれています。
また高校については、情報科の教員免許状を持っている先生が少なく、免許外教科担任や臨時免許状を持つ先生でまかなっている現状があります。これを解消していきましょう、ということがきちんと書かれていることは評価したいと思います。
以上は検討してきた委員の立場からの説明でした。ここからは、自分も含めて現場の先生方や大学の先生方が、個人の立場で何ができるか、ということを考えていきたいと思います。せっかくいい方向に進んでいるのに、ここで私たちが何もしないと失敗に終わってしまう可能性がゼロではありません。例えば、今から学習指導要領やその解説本を作る仕事があります。また、教科書をお書きになる先生方には、ぜひよいものを作っていただきたいと思います。
そして教員の研修が必要です。リアルな研修は重要ですが、すべての小学校や市町村を回ることは不可能ですので、オンラインやe-learningの研修も必要になると思います。その辺りの支援は、私たちにもできることだと思います。また、プログラミング含めて、情報教育の事例をたくさんお持ちの先生方がいらっしゃると思います。それらのノウハウを、ご自分の授業で使うだけではなく、ぜひそれをシェアしていただきたい。また、それらを集約して提供していくことも求められると思います。
そして、「自分にできること」と「自分しかできないこと」を考えていただきたいと思います。他人にもできることはその人たちにお願いすればよいかもしれませんが、そうでない場合は「自分しかできない」ことを自覚して使命感を持って取り組むことが大切ではないかと思います。
情報教育への「追い風」を良い方向に向けるために
では、私自身はどうか、ということでこれまでやってきたことをこちらに挙げました。まずプログラミングについては、ブロックを置いていくプログラミング環境が多くなってくると思いますので、文字で書くプログラミング環境も必要だ、ということでドリトルを引き続き提供していこうと思っています。
また、先ほど小学校のプログラミング教育のところでお話しした、カードや天秤などの教具を使った情報科学教育(コンピューターサイエンスアンプラグド)、さらにクイズを解くことが良質な教育になるビーバーチャレンジ(※1)や情報オリンピック(※2)なども推進していきたい。また、プログラムだけでなく、データベースも重要だと思いますので、それを教える教材(sAccess)(※3)も引き続き手掛けていきたいと思います。
※1 ビーバーチャレンジ http://bebras.eplang.jp/
※2 情報オリンピック https://www.ioi-jp.org/
※3 sAccess http://saccess.eplang.jp/
今いちばん力を入れているのが、大阪電気通信大の私の研究室と東京農工大の並木研究室、それから明星大の長研究室で共同開発しているビットアロー(※4)という学習環境です。今後いろいろなプログラミング学習用の環境が教育用に提供されていくと思いますが、その時のモデルになればと考えています。まずは「インストールしなくてもブラウザで動くものが標準でしょう」ということを示したいのです。
※4 ビットアロー http://bitarrow.eplang.jp/
プログラミングでは一つの言語だけでなく複数使えた方がよいので、ビットアローでは、JavaScriptとC言語とドリトルが使えるようになっています。さらに、先生のための支援環境も必要なので、生徒がプログラムを書いて実行ボタンを押すと自動的にサーバーに提出され、先生はそれを随時見て確認ができるようにしています。そして、今後は自動的に採点したり、生徒の作品について「このアニメーションは、裏でこんなプログラムが使われていますよ」というヒントを先生に提示したりできるようにすることを目指しています。
また、学校ではまだまだネット環境が安定していないので、万一ネットが切れてもオフラインでも動かすことができ、次にネットがつながった時に、パソコンのブラウザの中に保存されていたプログラムが自動的にサーバーに提出されるようにしています。このような機能が標準装備だ、という形を示せたらいいですね。
そして今は、プログラムを書くだけでなく、書いたプログラムを使ってLEDを光らせたり、モーターを回したり、センサーから値を読んだりというふうに、ブラウザのプログラムと現実世界をつなげる仕組みを作っているところです。こういったものを研究成果として出すことで、世の中の標準になってくれれば嬉しいと思います。
補足ですが、今回のシンポジウムを主催している情報処理学会では、2016年4月号の学会誌で「プログラミング入門をどうするか」(※5)という特集をネットで公開しています。ぜひご覧いただければと思います。
まとめです。基本的に良い方向に向かっていると思っています。2003年に教科「情報」が始まったときは、高校でさえも指導要領に「アルゴリズムは教えてもいいけどプログラミングは教えてはいけない」ということが書かれていましたが、時が経って「小学校からプログラミングが必修」になりました。この急展開はいささか急ぎすぎているという気持ちもありますが、追い風であることは間違いありません。せっかく期待されているのですから、これを成功で終わらせたい、そのために何とかしたい、というのはここに来てくださっている先生方と共通の気持ちだと思います。
ただ、小学校は4年後、高校も6年後から完全実施なので、われわれが何かをするのであれば、今年から来年くらいに全力で勝負をかけておかないと手遅れになってしまいます。2年後には教科書が検定されてしまうわけですから、教科書の執筆者に「こういう教材がありますよ、こういう学習方法がありますよ」と伝えるためには、本当に今年中に示しておかないと間に合わないのではないかと思っているくらいです。ぜひ、皆さんが持っているノウハウや知恵を出し合って共有し、教育事例や教材の研究開発を進めて行きましょう。
※高校教科「情報」シンポジウム2016秋(2016年10月29日@早稲田大学) 講演