プログラミング教育の必要性

なぜ小学校にプログラミング教育を導入するのか


小学校からプログラミング教育の必要性


今日、コンピュータは人々の生活の様々な場面で活用されています。家電や自動車をはじめ身近なものの多くにもコンピュータが内蔵され、人々の生活を便利で豊かなものにしています。
誰にとっても、職業生活をはじめ、学校での学習や生涯学習、家庭生活や余暇生活など、あらゆる活動において、コンピュータなどの情報機器やサービスとそれによってもたらされる情報とを適切に選択・活用して問題を解決していくことが不可欠な社会が到来しつつあります。
コンピュータをより適切、効果的に活用していくためには、その仕組みを知ることが重要です。
コンピュータは人が命令を与えることによって動作します。端的に言えば、この命令が「プログラム」であり、命令を与えることが「プログラミング」です。プログラミングによって、コンピュータに自分が求める動作をさせることができるとともに、コンピュータの仕組みの一端をうかがい知ることができるので、コンピュータが「魔法の箱」ではなくなり、より主体的に活用することにつながります。

プログラミング教育は子供たちの可能性を広げることにもつながります。
プログラミングの能力を開花させ、創造力を発揮して、起業する若者や特許を取得する子供も現れています。子供が秘めている可能性を発掘し、将来の社会で活躍できるきっかけとなることも期待できるのです。
このように、コンピュータを理解し上手に活用していく力を身に付けることは、あらゆる活動においてコンピュータ等を活用することが求められるこれからの社会を生きていく子供たちにとって、将来どのような職業に就くとしても、極めて重要なこととなっています。諸外国においても、初等教育の段階からプログラミング教育を導入する動きが見られます。
こうしたことから、このたびの学習指導要領改訂において、小・中・高等学校を通じてプログラミング教育を充実することとし、2020 年度から小学校においてもプログラミング教育を導入することとなりました。


※文部科学省 小学校プログラミング教育の手引より抜粋

プログラミング教育で育む資質・能力


資質・能力の「三つの柱」とは


情報技術を効果的に活用しながら、論理的・創造的に思考し課題を発見・解決していくために、「プログラミング的思考」が必要であり、そうした「プログラミング的思考」は、将来どのような進路を選択しどのような職業に就くとしても、普遍的に求められる力であるとしています。
そして、「プログラミング的思考」とは、「自分が意図する一連の活動を実現するために、どのような動きの組合せが必要であり、一つ一つの動きに対応した記号を、どのように組み合わせたらいいのか、記号の組合せをどのように改善していけば、より意図した活動に近づくのか、といったことを論理的に考えていく力」であると説明されています。
さらに、プログラミング教育で育む資質・能力について、各教科等で育む資質・能力と同様に、資質・能力の「三つの柱」「知識及び技能」、「思考力、判断力、表現力等」、「学びに向かう力、人間性等」)に沿って、次のように整理し、発達の段階に即して育成するとしています。

【知識及び技能】
身近な生活でコンピュータが活用されていることや、問題の解決には必要な手順があることに気付くこと。
【思考力、判断力、表現力等】
発達の段階に即して、「プログラミング的思考」を育成すること。
【学びに向かう力、人間性等】
発達の段階に即して、コンピュータの働きを、よりよい人生や社会づくりに生かそうとする態度を涵養(かんよう)すること。
 ※涵養:自然にしみこむように、養成すること。無理のないようだんだんに養い作ること。


※文部科学省 小学校プログラミング教育の手引より抜粋

「プログラミング的思考」の育成


「プログラミング的思考」とは


「プログラミング的思考」は、「自分が意図する一連の活動を実現するために、どのような動きの組合せが必要であり、一つ一つの動きに対応した記号を、どのように組み合わせたらいいのか、記号の組合せをどのように改善していけば、より意図した活動に近づくのか、といったことを論理的に考えていく力」と説明されています。
このことをコンピュータを動作させることに即して考えます。
コンピュータに自分が考える動作をさせるためには、①コンピュータにどのような動きをさせたいのかという自らの意図を明確にした上で、まず、②コンピュータにどのような動きをどのような順序でさせればよいのかを考える必要があります。そして、③一つ一つの動きを対応する命令(記号)に置き換えた上で、④これらの命令(記号)をどのように組み合わせれば自分が考える動作を実現できるかを考えます。さらに、⑤その命令(記号)の組合せをどのように改善すれば自分が考える動作により近づいていくのかということも試行錯誤しながら考えていきます。
 
コンピュータを動作させるための手順(例)
① コンピュータにどのような動きをさせたいのかという自らの意図を明確にする

② コンピュータにどのような動きをどのような順序でさせればよいのかを考える

③ 一つ一つの動きを対応する命令(記号)に置き換える

④ これらの命令(記号)をどのように組み合わせれば自分が考える動作を実現できるかを考える

⑤ その命令(記号)の組合せをどのように改善すれば自分が考える動作により近づいていくのかを試行錯誤しながら考える


※文部科学省 小学校プログラミング教育の手引より抜粋