子どもたちの創造性や問題解決力を育むことが一番の目的
『ルビィのぼうけん』シリーズはプログラミングとテクノロジーを楽しく学べる絵本として28カ国の言語に訳され、多くの子どもたちに読まれてきた。その著者であるリンダ・リウカスさんは世界各国を回り、多くの先生と交流を重ねる中で、「コンピューターサイエンスを教えるのに、なぜ3冊も出版したのか」としばしば尋ねられるという。
「コンピューターサイエンスはコーディングだけはないから」というのがリンダさんの答えだ。『ルビィのぼうけん』シリーズでは1冊目で「コンピューターとは何か」について、2冊目で「コンピューターはどのような働きをするのか」、そして3冊目で「コンピューターとどのようにコミュニケーションをとるのか」をそれぞれ学べるようになっている。しかしコンピューター言語は一切出てこず、「文法を学ぶというより詩を学ぶように」直感的にプログラミングを学ぶ。その結果、多くの子どもたちをコンピューターサイエンスの魅力に引きつけることに成功している。
「科学やサッカーなどが大好きな子どもたちに、もっとコンピューターサイエンスの魅力を知ってもらうこと。それが私の使命です。そこでコンピューターサイエンスの世界にさまざまなキャラクターを登場させて冒険させ、カラフルな物語としています。コーディングではパズルからScratchまでさまざまなことを学びますが、裏側にある『ストーリー』が欠けています。ストーリーとは『自分自身がどういう人間か』『世界とどのようにつながっているのか』『そしてつながっていくためにはどうしたらいいのか』という普遍的な問いです」(リンダさん)
リンダさんは、オランダ人計算機科学者のエドガー・ダイクストラ氏の言葉を引用した。
「天文学が双眼鏡のことを学ぶのではないように、コンピューターサイエンスはコンピューターのことを学ぶのではない」
つまり「コンピューターサイエンスを学ぶことは、問題解決や自己表現の方法である」と捉えることが重要というわけだ。例えば、コンピューターサイエンティストというと「コンピューターを研究する人」と思いがちだが、正しくは教育や環境、エネルギー、健康、食料などさまざまな課題を解決するために「手段として」コンピューターを使う人であるはずなのだ。
「社会における多くの問題を解決するために、コンピューターの活用が有効と考えられています。そのためにはコンピューターサイエンスに通じた、さまざまな人の協力が必要となります。だからこそコンピューターサイエンスを教える方に知っていただきたいのが、コンピューター教育とはコーディングやスプレッドシート、Webサイトの安全な楽しみ方などを教えるだけではないということです。『問題をどのように解決したらいいのか』を思考し、実行する力を育むものなのです」(リンダさん)
とは言え、コンピューターサイエンスの教育には最先端技術のキラキラしたイメージがあり、デジタルツールを用いなければならないと考えがちだ。しかし、必ずしもそうではない。教育方法の例としてリンダさんがあげたのは、日本の人気テレビシリーズ「はじめてのおつかい」だ。小さな子どもがさまざまな問題をクリアしながら、依頼された「ミッション=おつかい」を達成する。
「この番組を各国のイベントで紹介すると、どこの国でも驚かれます。こんな小さな子どもが1人で怖がらず、意欲的に『おつかい』に行けるのかと。もちろん社会的な安全性が担保されていること、地域やテレビ局の人などの協力があってのことではあります。しかし一番の理由は、子どもに問題を解決する力があると保護者が信じているからだと思うのです。日本は子どもが安全に『おつかい』を実践できる数少ない国のひとつでしょう。そして、テクノロジーの世界でも同じことが言えるのではないかと思います」(リンダさん)
課題を解決するには、スキルを身につけることが大事だが、それ以上に大切なのは、好奇心や勇気、創造性といったものを育む教育ではないか。そのように、リンダさんはメッセージを送り、話を終えた。
事例に学ぶ「プログラミング教育導入のヒント」とは
リンダさんの話を受けて、宮城教育大学 教育学部の教授である安藤明伸氏がコンピューターサイエンス教育の導入ポイントについて解説した。
来年度からの施行ということもあり、「プログラミング教育」の言葉に引っ張られて「プログラムを教えなければ」と焦りも出てくる頃だ。しかし、学習指導要領においてプログラミングは「情報活用能力」のひとつにすぎない。一方で「情報活用能力」はすべての学習の基盤となる資質・能力であり、特定の授業ではなく、6年間のさまざまな授業の中でバランスよく学び育てていくことが望ましいとされている。
安藤氏は「プログラムなどを用いた場合はどう達成目標を持つべきか。もちろんプログラミングもひとつの技能ですが、バランスを考えながらトータルに考えることを忘れると『プログラミングだけやっていればいい』とそれだけが目的化する恐れがあります。つまり、科目そのものの達成目標に加えて、プログラミングで何を学んでほしいのか、獲得目標を意識することが大切です」
その指針となるのが、新学習指導要領にまとめられた「育成を目指す資質・能力の3つの柱」だ。「【A分類】知識及び技能」「【B分類】思考力、判断力、表現力等」「【C分類】学びに向かう力、人間性等」を掲げており、さらに細かく分類されている。文部科学省による「情報教育推進校(IE-School)」の実証授業の中で、そうした情報活用能力を含めたプログラミング教育の事例報告があがってきており、実践の順番や範囲などの目安になる。あえて学年などが記載されていない理由は、例えばプログラミング思考などを知らないままに、いきなり途中から学習させようとするのは困難であるため。学年に関係なく体系的に学ぶことが重要というわけだ。
プログラミング教育の狙いは、「『プログラミング的思考』を育むこと」「『プログラムやコンピューターでこんなことができるんだ!』と気付き、さらにコンピューターを活用して問題を解決しようという態度を育むこと」そして「プログラミング体験を導入することで各教科の授業の学びを高めること」の3つだ。
安藤氏は「さまざま教科の中でコンピューターサイエンス教育を取り入れようとしても、経験がない中では難しいでしょう。そこでどのような工夫がされているのか、子どもたちがどんな反応をしているかを知っていただくことが大切です。それらを意識しながら事例を知ることで、学校での導入の参考にしてほしいと思います」と語る。
また安藤氏は「アンプラグド」というキーワードに触れ、「プログラミングだけ」では十分ではないが、プログラミングの実践がないのも十分ではないと指摘。「プログラミング的思考の考え方は同じでも、反応やアプローチスキルは変わります。例えば、コンピューターの処理は高速で、指示が絶対であり、善悪や文脈の判断はしません。そうしたコンピューターの特徴、そして人間の特徴を理解しながら、どうやって対応していくのか。その学びをどのように構築していくかを考えながら、事例を参考にしてください」と語り、事例紹介へとつなげた。