2016/06/24
プログラミング教育のあり方に関する議論について
東京都渋谷区にある小学生対象のプログラミング教室スモールトレインで講師をしております福井です。第3回目は「小学校段階における論理的思考力や創造性、問題解決能力等の育成とプログラミング教育に関する有識者会議」の議論の内容をご紹介いたします。コラムの第2回目と関係ある内容です。
小学校段階におけるプログラミング教育の在り方について
プログラミングを小学生に教える目的とは
プログラミングを小学生に対して教える目的は以下のように述べています。
- 小学校段階におけるプログラミング教育については、学校と民間が連携した意欲的な取組が広がりつつある一方で、コーディング(プログラミング言語を用いた記述方法)を覚えることがプログラミング教育の目的であるとの誤解が広がりつつあるのではないかとの指摘もある。“小さいうちにコーディングを覚えさせないと子供が将来苦労するのではないか”といった保護者の心理からの過熱ぶりや、反対に“コーディングは時代によって変わるから、プログラミング教育に時間をかけることは全くの無駄ではないか”といった反応も、こうした誤解に基づくものではないかと考えられる。
- プログラミング教育とは、子供たちに、コンピュータに意図した処理を行うよう指示することができるということを体験させながら、将来どのような職業に就くとしても、時代を超えて普遍的に求められる力としての「プログラミング的思考」などを育むことであり、コーディングを覚えることが目的ではない。
特に二つ目が重要でしょう。小学生に覚えてほしいのはプログラミング的思考であり、コーディングではないということです。また、学校でプログラミングを行うということは算数や理科でプログラミングをすることになりますので、算数の問題をプログラミングして解くということも含まれていくことと予想できます。
これからの時代に求められる力とは
次にこれからの時代に求められる力ですが、以下のようにまとめています。
- こうした人工知能が、与えられた目的の中での処理を行っている一方で、人間は、感性を豊かに働かせながら、どのような未来を創っていくのか、どのように社会や人生をよりよいものにしていくのかという目的を自ら考え出すことができる。多様な文脈が複雑に入り交じった環境の中でも、場面や状況を理解して自ら目的を設定し、その目的に応じて必要な情報を見いだし、情報を基に深く理解して自分の考えをまとめたり、相手にふさわしい表現を工夫したり、答えのない課題に対して、多様な他者と協働しながら目的に応じた納得解を見いだしたりすることができるという強みを持っている。
- このために必要な知識や力を成長の中で育んでいるのが、人間の学習である。今後の教育の在り方を議論するに当たっては、私たちが物事を学ぶ学習過程の重要性を改めて認識しながら、子供たちが複雑な情報を読み解いて、解決すべき課題や解決の方向性を自ら見いだし、多様な他者と協働しながら自信を持って未来を創り出していくために必要な力を伸ばしていくことが求められる。また、その過程において、私たちの生活にますます身近なものとなっている情報技術を、受け身で捉えるのではなく、手段として効果的に活用していくことも求められる。
私達の教室では「スモールトレインとは」でも述べている様に、①問題・課題発見領域で問題や課題を発見し、②論理的思考領域で課題を整理しアルゴリズムを考え、③構造的思考領域で②と他の知識を組み合わせてプログラミングを作成していきます。そうすることで上記の目的は達成できます。こうした力を鍛えていくためにも、すでに小学校で習っている算数を使うのが適切です。
報告書ではこれからの時代に求められる資質・能力として、さらに具体的に述べています。
1.情報を読み解く
- 情報化が進展する社会において求められる情報活用能力(世の中の様々な事象を情報とその結びつきとして捉えて把握し、情報及び情報技術を適切かつ効果的に活用して、問題を発見・解決したり自分の考えを形成したりしていくために必要な資質・能力)の基盤となるのも、こうした読解力である。
2.情報技術を手段として使いこなしながら、論理的・創造的に思考して課題を発見・解決し、新たな価値を創造する
- 子供たちが、情報技術を効果的に活用しながら、論理的・創造的に思考し課題を発見・解決していくためには、コンピュータの働きを理解しながら、それが自らの問題解決にどのように活用できるかをイメージし、意図する処理がどのようにすればコンピュータに伝えられるか、さらに、コンピュータを介してどのように現実世界に働きかけることができるのかを考えることが重要になる。
- こうした「プログラミング的思考」は、急速な技術革新の中でプログラミングや情報技術の在り方がどのように変化していっても、普遍的に求められる力であると考えられる。
- また、「プログラミング的思考」には、各教科等で育まれる論理的・創造的な思考力が大きく関係している。
3.感性を働かせながら、よりよい社会や人生の在り方について考え、学んだことを生かそうとする
- 人間に備わるみずみずしい感性は、現実の物事を捉えながら、それを超えて想像を膨らませたり、相手の感情や考えに思いを馳せたり、まだ見ぬ未来の社会や人生の在り方について思いを巡らせたり、まだ存在しないものをつくりだすために創造的に考えたりすることを可能とする。
検索だけで情報を理解した気になるのではなく、しっかりとコンピュータの歴史から理解するというリテラシー教育が求められます。私達の教室ではすでに実践しておりますが、歴史を知って初めてその技術が新しいと理解できると考えます。
またプログラミングをすることで培われる思考力は、プログラミングのためだけでに役に立つわけではありません。算数は特にプログラミングとの相性が良く、算数をプログラミングしていくことで算数そのものを考える力も向上していきます。プログラミングで算数を行えば計算ミスで怒られることはありません。公式を覚えていなくて怒られることもありません。条件に従ってどう効率よくプログラミングするかが重要になってきます。
今後の展望は
今後の展望として以下のようなことが述べられています。
- 特定の技術や個別のプログラミング言語については、時代の変化や技術革新の中で移り変わっていくことが予測される。ここ十~数十年の間において、プログラミング言語が果たす役割が大きく変わるわけではないが、将来的には、私たちが日常的に用いる自然言語で論理的に書いたり話したりすることで、コンピュータに指示できるようになるのではないか、との予測もある。
- 仮にそのような時代になったとしても、社会でコンピュータが果たす役割を理解しながら、「プログラミング的思考」を発揮し、その時代の情報技術を効果的に活用して問題を発見・解決していくことの重要性は変わらないものと考えられる。子供たちには、コンピュータに意図した処理を行うよう指示することができるということを体験させながら 、時代を超えて必要となる資質・能力を、発達の段階に即して身に付けていくことが求められる。
現在、私たちはスクラッチのようなビジュアルプログラミング言語を学んでから、他のプログラミング言語を学ぶという順番になっていますが、将来的にはすべてがスクラッチのようなビジュアルプログラミング言語になっていくのかもしれません。そしてipadでプログラミングができる。現に、アップルはipad向け学習アプリを2016年秋にリリースすると発表しました。
このような流れの中で小学生がプログラミングを学ぶ意味は、「プログラミング的思考」であり、それを学ぶことが他教科の学習に役立つのはもちろんのこと、考える力そのものを向上されることができると考えます。
当教室ではそうしたプログラムをすでに用意して実践しております。説明会と体験会を実施しておりますのでお気軽にご参加ください。
参照サイト
小学校段階における論理的思考力や創造性、問題解決能力等の育成とプログラミング教育に関する有識者会議
http://www.mext.go.jp/b_menu/shingi/chousa/shotou/122/attach/1372525.htm