意外と知らない"プログラミング教育"(vol.1)
政府が必修化を検討しているという報道がなされるなど、最近注目されつつある「プログラミング教育」。どのような経緯で議論の俎上に載せられるようになり、どのような能力を育成することをねらいとしているのか。具体的なプログラミング教育の実践例と併せ、2回にわたって紹介します。
プログラミング教育が注目されるようになった契機
教育の情報化の一環としてプログラミングが授業で扱われることは従来からありましたが、最近になって「プログラミング教育」という単語を耳にすることが増えていないでしょうか。そのきっかけとなったのが、日本経済再生本部が主催する産業競争力会議の報告です。
2016年4月19日の第26回産業競争力会議にて、「名目GDP600兆円に向けた成長戦略」と「イノベーション創出・チャレンジ精神に溢れる人材の創出」について議論が行われ、成長戦略の一部としてプログラミング教育の必修化が盛り込まれました。次の図からわかるように、IoT(モノのインターネット)、ビッグデータ、ロボット、人工知能(AI)等の技術革新によるいわゆる「第四次産業革命」を支える人材の創出という側面からプログラミング教育が位置づけられています。
上記の内容が「プログラミング教育が必修化へ」という形で多く報道されたことを契機に、プログラミング教育が今まで以上に注目されるようになりました。また、第26回産業競争力会議と同日、文部科学省に「小学校段階における論理的思考力や創造性、問題解決能力等の育成とプログラミング教育に関する有識者会議」が設置され、以下の点について検討を進めることとされました。
(1)いわゆる「第4次産業革命」が教育に与える影響について
(2)小学校段階で育成すべき資質・能力と効果的なプログラミング教育の在り方について
(3)効果的なプログラミング教育を実現するために必要な条件整備等について
プログラミング教育とは
「プログラミング教育」という言葉からどのような内容をイメージするかは人によって幅があると思います。この記事を執筆している2016年12月現在、「プログラミング教育」の明確な定義に関して、文部科学省等の公的機関からの正式な発表はありませんが、これまで3回にわたる有識者会議を経て公表された「小学校段階におけるプログラミング教育の在り方について(議論の取りまとめ)」には、プログラミング教育の方向性や考え方として次のような内容が記載されています。
○プログラミング教育とは、子供たちに、コンピュータに意図した処理を行うよう指示することができるということを体験させながら、将来どのような職業に就くとしても、時代を超えて普遍的に求められる力としての「プログラミング的思考※」などを育むことであり、コーディングを覚えることが目的ではない。
※「プログラミング的思考」とは、自分が意図する一連の活動を実現するために、どのような動きの組合せが必要であり、一つ一つの動きに対応した記号を、どのように組み合わせたらいいのか、記号の組合せをどのように改善していけば、より意図した活動に近づくのか、といったことを論理的に考えていく力、と表現されている
○プログラミング教育を実施する前提として、言語能力の育成や各教科等における思考力の育成など、全ての教育の基盤として長年重視されてきている資質・能力の重要性もますます高まるものであると考えられる。こうした資質・能力の育成もしっかりと図っていくこと、また、小学校におけるプログラミング教育の実施に当たっては、ICT環境の整備や指導体制の確保等の条件整備が不可欠である。
○人工知能が、与えられた目的の中での処理を行っている一方で、人間は、感性を豊かに働かせながら、どのような未来を創っていくのか、どのように社会や人生をよりよいものにしていくのかという目的を自ら考え出すことができる。今後の教育の在り方を議論するに当たっては、私たちが物事を学ぶ学習過程の重要性を改めて認識しながら、子供たちが複雑な情報を読み解いて、解決すべき課題や解決の方向性を自ら見いだし、多様な他者と協働しながら自信を持って未来を創り出していくために必要な力を伸ばしていくことが求められる。
○私たちの生活にますます身近なものとなっている情報技術を、受け身で捉えるのではなく、手段として効果的に活用していくことも求められる。便利さの裏側でどのような仕組みが機能しているのかについて思いを巡らせ、便利な機械が「魔法の箱」ではなく、プログラミングを通じて人間の意図した処理を行わせることができるものであり、人間の叡智が生み出したものであることを理解できるようにすることは、時代の要請として受け止めていく必要がある。
取りまとめの内容を大きくまとめると次のようになります。
・第四次産業革命という社会的・経済的な変化に、教育も対応する必要性がある。
・情報技術を手段として活用するための論理的思考力(プログラミング的思考)を育むことが目的である。
・コーディングはプログラミング教育の必要条件ではないが、プログラミング教育の実施にあたってはICT環境の整備や指導体制の確保等の条件整備が不可欠である。
・発達段階に応じた資質・能力の育成を図ることが求められる。
また、資質・能力の育成という観点からは、「対話的・主体的で深い学び(アクティブ・ラーニング)」の視点や「個に応じた指導(アダプティブ・ラーニング)」の視点等と接合した形で「第4次産業革命に向けた人材育成総合イニシアチブ」として文部科学省が枠組みを整理しています。
育くもうとしている資質・能力
プログラミング教育で育成したい資質・能力とはどのようなものなのか、再び「小学校段階におけるプログラミング教育の在り方について(議論の取りまとめ)」から引用します。
プログラミング教育とは、子供たちに、コンピュータに意図した処理を行うよう指示することができるということを体験させながら、発達の段階に即して、次のような資質・能力を育成するものであると考えられる。
【知識・技能】
(小)身近な生活でコンピュータが活用されていることや、問題の解決には必要な手順があることに気付くこと。
(中)社会におけるコンピュータの役割や影響を理解するとともに、簡単なプログラムを作成できるようにすること。
(高)コンピュータの働きを科学的に理解するとともに、実際の問題解決にコンピュータを活用できるようにすること。
【思考力・判断力・表現力等】
・ 発達の段階に即して、「プログラミング的思考」(自分が意図する一連の活動を実現するために、どのような動きの組合せが必要であり、一つ一つの動きに対応した記号を、どのように組み合わせたらいいのか、記号の組合せをどのように改善していけば、より意図した活動に近づくのか、といったことを論理的に考えていく力)を育成すること。
【学びに向かう力・人間性等】
・ 発達の段階に即して、コンピュータの働きを、よりよい人生や社会づくりに生かそうとする態度を涵養すること。
ここでは下図の資質・能力の三つの柱に基づいて、発達の段階に即したプログラミング教育を行うことの重要性が示されています。
ここまでのまとめ
・プログラミング教育は第四次産業革命という社会的・経済的な変化に対応するために要請されるものである。
・プログラミング教育はコーディングを学ぶことが必要条件ではなく、情報技術を手段として活用するための論理的思考力(プログラミング的思考)を育むことが目的である。
・資質・能力の三つの柱に基づいて、発達の段階に即したプログラミング教育を行うことが重要である。
次回は、小学校・中学校・高校における具体的な実践事例についてご紹介します。
参考資料
構成・文:内田洋行教育総合研究所 研究員 原田悠輔
※当記事のすべてのコンテンツ(文・画像等)の無断使用を禁じます。
ご意見・ご要望、お待ちしています!
この記事に対する皆様のご意見、ご要望をお寄せください。今後の記事制作の参考にさせていただきます。(なお個別・個人的なご質問・ご相談等に関してはお受けいたしかねます。)