みんなに知ってもらいたい!プログラミング教育について
いよいよ来年度は小学校でもプログラミング教育が始まりますね。
以前に比べて2020年度の教育改革についてやプログラミング教育の記事を目にする機会が増えました。
私は2年ほど前に学校でのプログラミング教育のの実証事業に携わったことがあるのですが、当時はプログラミング教育についてはまだ認知も低く学校でも取り入れているところは少なかったです。
目前に迫ったプログラミング教育ですが、保護者の方からは教えられるか不安や、高価なPCを準備しなければならないのかといった声も聞こえてきます。
小学生向けのPCなどといって販売しているところもあるようですね。
はっきりいって、高価なPCやタブレットを学習専用に買う必要はありません。
プログラミング教育が始まるからパソコンが必要ですという宣伝を見かけたら購入するかは良く考え方がいいです。
もちろん早い段階から本格的にプログラミングをやらせたいのであれば、それもいいと思います。
あくまでの学校の授業の範囲内であれば必要ないということです。
保護者が不安になったりするのは、そもそも小学校でどの程度のプログラミングをするのかということがはっきりと伝わっていないからでしょう。
普段子どもたちにプログラミングを教えている経験から、小学校でのプログラミング教育とその活かし方について書いていきます。
まずは導入目的をおさらいしてみましょう。
導入目的
文科省のプログラミング教育の手引には導入の理由を
職業生活をはじめ、学校での学習や生涯学習、家庭生活や余暇生活など、あらゆる活動において、コンピュータなどの情報機器やサービスとそれによってもたらされる情報とを適切に選択・活用して問題を解決していくことが不可欠な社会が到来しつつあります。
コンピュータを理解し上手に活用していく力を身に付けることは、あらゆる活動においてコンピュータ等を活用することが求められるこれからの社会を生きていく子供たちにとって、将来どのような職業に就くとしても、極めて重要なこととなっています” 文部科学省 プログラミング教育の手引第2版より抜粋
とあります。
これからの時代ますますITを使ったサービスやAi&ロボット化し、子どもたちが社会に出る頃には、これまで人がやっていた仕事の多くがAIやロボットに置き換わっているのではないかと思います。だから今のうちに慣れ親しんでおきましょうということですね。
ではプログラミング教育でどのような力が身につくのでしょうか。
文科省では次の三つの柱に沿った資質を育むと言っています。
【知識及び技能】身近な生活でコンピュータが活用されていることや、問題の解決には必要な手順があることに気付くこと。 【思考力、判断力、表現力等】発達の段階に即して、「プログラミング的思考」を育成すること。 【学びに向かう力、人間性等】発達の段階に即して、コンピュータの働きを、 よりよい人生や社会づくりに生かそうとする態度を涵養すること。
プログラミング的思考
よくある誤解の一つにプログラミング教育でプログラミング言語の文法を覚えるというのがありますが、プログラミング言語の文法を覚えるのではなく、プログラミング的に考える思考方法の習得があげられています。
「プログラミング的思考」と言われている力身につけることですね。
何だかよくわからないの話にも聞こえますが、ざっくりと説明すると、
コンピューターは命令したことしかできません。
意図したとおりに動かすには手順をきちんとコンピューターに伝えることが必要であり、そのための命令文がプログラムです。
そして、人のように抽象的に判断はできないので、より具体的な手順をプログラムしないとなりません。その順序や必要な事柄を「論理的」に考えて組み立てる考え方をプログラミング的思考と読んでいます。
思考の方法を習得する学習は今までにはなかったのではないでしょうか。
そしてプログラミング学習をはじめとする、これからの学びには今までのような受動的な学習方法ではなく、能動的に学ぶアクティブラーニングが取り入れられます。
今までは答えがある問題の解き方を教えるのが学校の勉強でした。
しかしプログラミング教育では実際に試しながら自ら解決の方法を見つけ出す訓練をすることで、問題の解決力を身につけます。
まとめますと、プログラミング教育の目的とは「問題を論理的に捉え解決し、よりよい人生や社会づくりに活かそうとする態度を身につける」ことです。
なぜプログラミングなのか
論理的に考える方法を学ぶだけなら、コンピューターを使った学習でなくてもいいはずです。
国語でも算数でも論理的に考える訓練はできます。
ではなぜコンピューターをつかって学ぶのでしょうか。
それは、結果がすぐに見えること、手順がはっきりと見えることです。
おそらく多くの学校ではscratchと言われるビジュアル言語と言われるものを使うことになるでしょう。
ブロックになった命令を積み重ねながら意図した動きをコンピューターに実行させるというものです。
命令がはっきりと見えるので、どこが正解でどこが間違っているのかが一目でわかります。
それを繰り返すうちに論理的に考える力が身についていきます。
これからのことを考えると、コンピューターに慣れ親しむ学習は必要なことだと思います。
むしろ遅いぐらいでしょう。
でも、問題もこれから出てくると思います。
それは、教える側の知識不足とアクティブラーニングの経験が少ないということではないでしょうか。
今までのように一方的に教えるやり方だけではうまくいかないでしょう。
一方的に 教えるには正解が必要です。でもプログラミングには正解は一つとは限りません。
意図した通りに動けなそれは正解なのです。それに教える方もそれ相応の知識や技術が必要になります。
はっきり言って論理的思考なんて教えることはできません。
方法論を教えたからといって論理的思考が使えるようになったとは言わないのです。
アクティブに学ぶことが大切なのは、うまくいかないことも学べるからです。
正解を教えるだけのやり方では失敗の体験ができません。
正解と間違いを行ったり来たりしながら考えていくことが考える訓練になります。
目的を思い出してください。
コンピューターの操作を学ぶのではなく、考え方を学ぶのです。
少し長くなってきたので、次回私が教室でやっている学習方法を紹介したいと思います。
画像提供
PublicDomainPicturesによるPixabayからの画像