21世紀型能力を育成させる課題解決型学習の実践
~課題研究でのプログラミング教育実践報告
愛知県立衣台高校 井手広康先生
1.1 プログラミング教育が注目されている理由
現在、世界各国で初等中等段階からプログラミング教育を必修とすることに、国を挙げて取り組んでいます。日本でも最近特に注目が集まっており、その理由は大きく二つあると言われています。
一つ目が、世界的なIT人材不足です。今、「子どもたちが大人になる頃、その65%はまだ存在していない職業に就く」と言われています。しかしその半面、様々な産業でIT化が進んでおり、IT技術を持つ人材が絶対的に不足することが叫ばれていることも事実です。これはアメリカをはじめとして、世界的に深刻な問題だと言われています。加えて、今日は「コンピュータを使う」のではなくて「コンピュータを使ってモノを作る」こと、そして自分の持っているアイデアをいかに早く形にするかということが重要視されています。
プログラミング教育が注目されている二つ目の理由として、21世紀型能力(21世紀型スキル)が挙げられます。2012年に国立教育政策研究所が、「変化する社会に対応する資質や能力、これを育成するための教育課程編成の基本原理」として、この21世紀型能力を提唱しました。簡単に言うと、「今日の非常に変化の激しい21世紀のグローバル社会を生き抜くために必要となる力」のことであり、「生きる力」の一つとしてとらえられています。今までの教育の目的は「与えられた課題を解く」ことでしたが、これからは「答えのない問題を解く力」が大事になります。この価値観が、プログラミング教育と親和性が非常に高いため、プログラミング教育が今日世界各国で注目されている理由となっています。
1.2 21世紀型能力の構成
※図をクリックすると拡大します
次に21世紀型能力の構成についてお話しします。21世紀型能力は、「実践力・思考力・基礎力」の三つで構成されています。その中核となるのが思考力で、そこには「問題解決・発見力・創造力、論理的・批判的思考力、メタ認知・適応的学習力」が含まれています。そして、まさにこの思考力がプログラミング教育と親和性が非常に高いと言われているのです。そして、思考力の土台の部分になる基礎力とは、昔から「読み・書き・そろばん」と言われていますが、今はそれに加えて「情報を扱う力(情報リテラシー)」も含まれるようになりました。
そしてこの三つの力は、情報教育の目標である「情報活用の実践力」「情報の科学的な理解」「情報社会に参画する態度」そのものです。つまり、「情報教育の目標を達成するということは、すなわち21世紀型能力の育成につながる」ということになります。
1.3 プログラミングの観点から見た思考力
さて、この中核となる思考力がプログラミング教育との親和性が非常に高いということについて、具体的にお話しします。
まず、「問題解決・発見力・創造力」です。プログラミングでは、与えられた課題を解くだけでなく、自分の作りたいものをイメージして形にしていきますが、この自分の作りたいものを作っていくプロセスで、様々な壁にぶつかります。どうして動かないのか、予想外の値になるのか、なぜエラーが起きるのかを考え、コードを見直してデバッグしたり、周りの意見を取りいれて改善したりしていくことで、問題解決力や発見力を養うことになります。
創造力について言えば、プログラミングで大切なことして、「PDCAサイクル」や「クリエイティブ・ラーニング・スパイラル」という言葉がよく使われます。このPDCAサイクルという、Plan(計画)→Do(実行)→Check(評価)→Action(改善)を繰り返すことで良い方向へ改善していくという言葉は、プログラミング教育のみならず、教育以外の現場でも言われています。一方、クリエイティブ・ラーニング・スパイラルとは、米国MITメディアラボのミッチェル・レズニック教授(LEGO MindstormsやScratchの開発者)が提唱している言葉です。プログラミングでは、まず自分が作りたいものを想像して(計画)、作り(実行)、そしてできたもので遊ぶ(評価・改善)というサイクルを繰り返します。この点でPDCAサイクルと似ていますが、違う点はできた作品を皆で「共有」するということです。作品を共有することで新たな改善点が見つかり、それを次のプログラムに生かしていく。このような共有を取り入れたスパイラル型の学びから、クリエイティブな創造力が育成されると言われています。
次に「論理的・批判的思考力」です。まず論理的思考力ですが、プログラミングをするには、自分がプログラムしたいことを構造化して整理し、論理的に考えなければいけません。プログラミングを経験することで、まずは論理的思考力を身に付けることができます。そして批判的思考力(Critical Thinking)とは、まず自分の中で核となる考え方やイメージを持ち、他の作品を見たときに「この部分は間違っているのではないか」や「こうすると改善できるのでは」というように、自分の思考をもとに相手の作品について考察・評価する力のことを言います。このようにプログラミングを通して、プログラミング能力だけでなく論理的思考力や批判的思考力を育成させることができます。
最後に「メタ認知・適応的学習力」です。メタ認知というのは、自分自身の作品や結果などを客観的に振り返り認知できることを言います。作品発表や相互評価を行う際には、まず自分の作品について知らなければいけません。なぜこのように作ったのか、考えたのかということを振り返り、相互評価を通してメタ認知に関する力が育成されます。さらにそれをもとにして、「次はこのようなものを作ってみよう」「こういうことに取り組んでみよう」というような、学んだことを次の課題へと生かすことができる適応的学習力も育成されます。
このように、この21世紀型能力の根幹となる思考力が、まさにこのプログラミング教育で育成されるということがわかります。プログラミングをすることが直接的に、21世紀型能力(生きる力)の育成につながるのです。
1.4 プログラミン教育の実施にあたって
次期学習指導要領ではプログラミング教育が中心になる流れにあり、私たち情報科教員は、今後プログラミング教育を必修科目として実施しなければいけなくなります。ここで、これからプログラミング教育を実施するに当たって考えていただきたいことが三つあります。
まず一つ目は、子どもたちがクリエイティブになるための四つのPについてです。ミッチェル・レズニック教授が、子どもたちが創造的に作品づくりをするためには四つのPが必要であると提唱しています。
まずProjectは、クリエイティブになれるような問題や課題を教員側が提示する必要があるということです。答えが一つではない、自分で考え創造的に作ることができる課題を提示することが大切です。
次にPeerとは、一緒に学ぶ仲間のことです。プログラミング教育をする際、多くの場合生徒は1人ではなくたくさんいます。それをうまく利用して、1人の作品をみんなで協力して相互評価をさせ、メタ認知で自己を振り返るという作業を行うことが大切です。
次にPassionとは、好きなことに熱くなれる情熱のことです。授業でプログラミングをしている時、生徒は目の前で自分の指示通りに物が動いたら非常に喜びます。そして、「次はこうしたらどうだろう」というように、どんどん自分で学んでいこうという気持ちが生まれます。このような、一つのことに熱く夢中になれるような情熱を忘れてはいけないということを生徒は知らなければなりません。
最後にPlayとは、遊び心を持つことを意味します。例えば、Scratchの演習でキャラクターを右に動かすとき、先生が数値で「10を入れなさい」と指示しますが、指示に反して100とか1000とか、あるいはマイナス100を入れたりする生徒がいます。ここで決して注意せずに、「こうしたらどうなるんだろう?」というような生徒の疑問を教員が大事にしてあげることが大切です。むしろそのような生徒がいたら、「○○くんはマイナスの値を入れていますね。このようにマイナスを入れたらどうなるか、予想してみてください。」と全体に投げかけ、1人の遊び心を全員で共有することを大事にしなければいけません。
二つ目として挙げた「プログラマーを育てるためのプログラミング教育ではない」という言葉は、レズニック教授はもとより、Scratchの第一人者である阿部和広先生(津田塾大)やVISCUITの開発者である原田康徳先生のようなプログラム教育の最先端に立って指導されている方が、口を揃えて言っていることです。プログラミング教育とは、決してプログラミング言語そのものについて学ぶことが目的ではなく、プログラミング教育を通して「生きる力」を身に付けることこそ重要なのです。
そして最後は、「プログラミング教育は学び方を学ぶものである」ということです。「プログラミング教育とは何か」に対する答えが、ここに集約されているのではないでしょうか。「魚を与えるのではなくて、魚の採り方を与える」という言葉がありますが、まさにその通りであり、プログラミング教育に共通する部分でもあります。授業において、生徒は基本的に一つのプログラミング言語を土台としてプログラミングについて学んでいきます。この一連のプログラミング教育の中で、プログラミング言語を学ぶということよりも、そこから次に壁にぶつかった時、どのように問題を解決したらいいのかを考える論理的思考力や創造性・発想力を育んであげることが大事だと思います。
2 課題解決型学習の対象と科目の位置付け
さて、ここからは21世紀型能力を育成させるための課題解決型学習(PBL: Project Based Learning)として、本校で行った実践について説明します。
※図をクリックすると拡大します
まず、この授業の対象は本校の情報科コースの3年6組31名のクラスです。科目は専門教科情報の「課題研究(必修・4単位)」で、3名の教員で行っています。この課題研究という科目は、学習指導要領では「他の専門科目の内容と関連づけて、実践的な内容とこれを使う総合的な科目」とされています。今まで生徒が学んできた知識や技能を全て結びつけ、発展的な課題に対して取り組むというもので、まさに課題解決型学習をやる上で最適な科目だと思われます。
3 課題研究の年間授業計画
この表が本校で実施している課題研究の年間授業計画です。生徒は、学年の初めに自分で興味・関心のあるテーマを設定します(芸能関係、アニメや漫画等、テーマとして相応しくないものはNG)。そして決定したテーマついて、まずはインターネットや書籍で基本調査を行った後、Excelを使ってアンケートを作成します。そのアンケートを在校生の約300名(1年は全クラス、2・3年は情報活用コース)で取ります。それをVBAでアンケート集計プログラムを作成し、集計作業を行います。さらに集計されたデータをExcelの様々な関数やグラフを用いて分析して、研究発表を行います。この表の赤い箇所が研究発表の部分で、なるべく多くの生徒に発表する機会を設けるようにしています。
4 アンケートの実施と分析
このアンケートを分析するときに、私は必ず「コンピュータや、Excelなどのアプリケーションは、あくまで目的のデータを得るための手段の一つに過ぎない」ことを必ず意識するよう話をします。生徒の中には、こちらが説明した機能や手法しか使用しない者もおり、言われた通りの分析しか行わない場合もあります。そのため、目的のデータを得るために、どのような手段を使用してどのような手順を踏めばよいのかを自分で考えなさせながら、アンケート分析を行うよう意識させています。
5 VBAを使用したプログラミング演習
アンケート集計プログラムを作成するために、先にVBAでプログラミング演習をします。そこでは、まずプログラミングとは何なのか、というところから入ります。
プログラムとは基本的に逐次・分岐・繰り返しの三つの組み合わせであることを学び、これら三つについての基本的な問題を演習します。簡単なプログラムが作成できるようになったら、いよいよアンケート集計プログラムを作成していきます。しかし、時間的制約や難易度の関係で一からアンケート集計プログラムを作成させるのは難しいため、生徒によってプログラムが異なる箇所を編集していく程度にとどまっています。
これはある生徒のアンケート集計後の分析に使用したデータです。アンケート集計プログラムを使用して集計したデータを、体裁を整えてからピボットテーブルやグラフ等を作成して分析します。最終的なプレゼンに使用するグラフは2、3個ですが、目的とするデータを得るために、様々な角度から分析を行い、その中で自分が本当に伝えたい結果を選ぶようにさせています。
6 情報教育の目標の観点から
この課題研究を通じて、情報教育の目標の観点から身に付けることができる力についてまとめました。
はじめに「情報活用の実践力」についてです。膨大なデータの中から、自分が求めるデータを主体的に判断して処理する能力が身に付きます。また、多くの発表の機会を設けているため、そこで自分の伝えたいことを適切に的確に相手に伝えられるプレゼンテーション能力が身に付きます。他にも、相互評価をとおして皆の意見を聞く力、取り入れる力や、共同で何かに取り組むコラボレーション能力といった、様々な力を身に付けることができます。
次に「情報の科学的な理解」についてです。この課題研究ではプログラミングについても学ぶため、アルゴリズムに加えて、論理的に物事を考える力、またデータから結果を推察する力が身に付きます。また、発表の際には生徒同士の相互評価を付けています。その中で、周りの「この部分が素晴らしかった」「自分だったらこうする」「こう直した方がいいんじゃないか」というような評価やコメントを受けて、自分自身の発表を振り返るメタ認知のための力や、今までの自分の知識や理解の定着を図ることができます。
最後に「情報社会に参画する態度」についてです。Excelでアンケートを作る際に、「アンケートに答える側の立場になって作りなさい」ということを言っています。例えば、回答者が回答方法を勘違いしないようにという考えや、回答結果に矛盾が出ないように考えさせるようにしています。このように、ユーザビリティやフールプルーフに配慮してアンケートを設計することも大切です。また、著作権等についても学んでいきます。アンケートや発表スライドには、インターネットから様々な文献や画像を引用するため、著作権や引用方法についても復習します。このような、情報が周囲に与える影響を考察できることも、大切な力のうちの一つです。
7 おわりに
以上のことを踏まえると、課題解決型学習は情報科教育の目標を達成するための非常に効果的な学習手法であると言えます。はじめにも述べましたが、情報教育の目標というのは広義に考えると21世紀型能力の育成にもつなげることができます。そのため、今後アクティブ・ラーニングとともに、プログラミング教育を中心とした課題解決型学習にも重きが置かれるのではないかと考えます。またこれは教科情報に限らず、全ての教科において当てはまることではないでしょうか。
プログラミング教育を学校現場で実施することに対して、そろそろ重い腰を上げないといけないと感じている方も多いと思います。その際、プログラミング言語は何でもかまいません。これまでに述べたように、論理的思考力や創造力、そして、次に学ぶべきことを主体的に学ぼうとする姿勢、このような力や態度を、プログラミング教育を通して身に付けさせることが大切なのです。
参考文献
(1)文部科学省(2010)『高等学校学習指導要領解説 情報編』実教出版社
(2)三宅ほなみ(2014)『21世紀型スキル-学びと評価の新たなかたち』北大路書店
(3)神谷加代(2015)『子どもにプログラミングを学ばせるべき6つの理由-「21世紀型スキル」で社会を生き抜く』インプレス
(4)Sylvia Libow Martinez(2015)『作ることで学ぶ-Makerを育てる新しい教育のメソッド』オライリージャパン