たけぼーの備忘録

暇を持て余した人間の無意味なブログ

小学校のプログラミング必修化について調べてみる

ICT PoS Original
こんにちは、たけぼーです。
今日は小学校でプログラミングを必修化する動きがあるので、いまさらですが調べてみたことを中心に自分なりに考えてみた、という話です。

なぜ『プログラミング』なのか

なぜ、必修化されるのはプログラミングなのでしょうか。

ITの普及した現代

この現代において、IT技術の爆発的な普及を考えると、教育課程でITに関する技術や知識、マナーなどを学ぶことのメリットは大きいと思います。

いまや小学生でもスマホを持ち、日々ネットを使い、友達と連絡をする。
こんな世の中ですから、ICT教育の必要性については言わずもがなであると思います。

しかし、ICT教育は現在のカリキュラムでも実施されています。情報リテラシーは、どの学生も一度は教えられることでしょう。

では、なぜ今回プログラミングが必修化されるのでしょうか。

プログラミング学習の目的

なぜなのか、これをプログラミングを学ぶ目的から考えてみましょう。
このプログラミング必修化で子どもたちに学んでほしいこととして、プログラミングに用いられる論理的思考や問題解決能力プログラミング的な思考)を身につける、ということがあげられています。

プログラミングは、○○をしたら○○をする、もし○○なら○○をする、○○である間○○をする、などといった順序だてた思考が必要です。
二足歩行ロボットで例を挙げるなら、右足を出したら左足を出す、もし前に障害物があったら止まる、障害物がない場合ずっと歩く、といったことです。

私も、自分でプログラミングをする時、命令の順序や分岐、ループといった、いつ・何をさせるとうまくいくのかを強く考えながらコードを書いていると思います。これが、プログラミング的な思考なのだと思います。

論理的思考を育てるプログラミング

今書いてきた目的から考えると、論理的思考や問題解決能力という力を、小さなうちから身につけさせる、ということを目指すためには、プログラミングが最適だったわけです。

たとえば数学の証明問題といった類の問題でも、同じ様な力は身につけられるかもしれません。
しかし、これを小学生にさせるのはハードルが高すぎる、というよりも不可能です。証明問題を解くにはかなりの前提知識がいりますから。

その点、プログラミングで必要な前提知識としては、四則計算と言ったところでしょう。もっといえば、それも必要ないかもしれない。
ここが、他の分野ではなくプログラミングを選んだ所以なのかな、と思います。

まとめると、プログラミングが必修化されたのは、

  • 論理的思考や問題解決能力を育てられる
  • 事前に持っているべき知識がほとんどない
  • 現代に不可欠なIT技術を肌で感じることができる

からだ、と思います。

どうやって教えるのか

次に、どうやって教えるのか、に焦点を当ててみましょう。
小学校では、教科を教えるのはすべて担任の先生です。情報分野を教える先生が別にいる場合もありますが、担任の先生が担当することが多いでしょう。

では、小学校の先生はプログラミングができるしょうか。
答えは、多くの場合でNoでしょう。

プログラミングは専門知識がいる

小学校の先生は、専門の教科のみを教える中高と違い、幅広くすべての教科を教えます。
小学校の先生方が大学でどの教科を専攻していたか、はバラバラなのです。

その中で、大学までにプログラミングをしたことがある、もしくは習っていたという先生は少ないでしょう。大学でプログラミングを扱う学部・学科は数限られています。

つまりほとんどの先生が、プログラミング経験がないまま子どもたちに教えなければならない、ということです。

当然、先生方も授業研究を重ねて、基礎知識を身につけられることだと思いますが、よっぽどプログラミングが好きでないと、1から10まで独学で学ぶことは難しいでしょう。

どの言語を選ぶのか

このことから考えると、小学校で扱われるプログラミングというのは、CやJava、HTMLやjavascriptといった、実際にゴリゴリとソースコードを書いて動かすものではないでしょう。

中高の情報教育では、HTMLを用いてソースコードを書いて、ブラウザで確認してみる、という内容を扱うところもありますが、やはりこれは、専門知識がある教科ごとの先生だからできることです。小学校の先生には負担が大きすぎます。

では、なにを教えるのか。私はScratchを扱う可能性が高いのでは、と思います。

Scratchは、文字を書く必要がありません。ブロック状になったコマンドを組み合わせることで、キャラクターに動きを与えることができます。

ブロックの形から、組み合わせられる命令を判断でき、シンプルな操作性のため、積み木を積むようにしてプログラミングのようなことができます。
ブラウザ上で実行できるため、インストール不要で管理もしやすいでしょう。

厳密に言えば、これがプログラミングなのか、という感じがしないこともないですが、『論理的思考を身につける』という目的は十分達成できるでしょう。

Scratchでなければならない、という理由はありませんが、ビジュアルにてプログラミングができるものが、小学校の教育では最適なのではないでしょうか。

プログラミング教育を行う効果

最後に、プログラミングを行うことによって、どのようなことが起こるのでしょうか。
プログラミングを小学校で扱うということは、プログラミングという行為に楽しさを覚え、興味を持つ子供が増えるでしょう。
小さな時に持った興味は、将来を左右する場合も多々あるため、プログラマーになりたい、という人が増えるかもしれません。

しかし、プログラミングにかけられる時間は、せいぜい2時間程度で、そのごく短期間の間に興味を持つ生徒はかなり少ないのでは、と思います。

世界的なプログラマー不足から、このプログラミング必修化で、プログラマーになる人を増やしたい、という考えがあると思いますが、実際のところどれほどの効果があるかは分かりません。

それでも、この現代にありがちな“プログラミングをする人は暗い”といった偏見めいたものが、無くなる効果はあるかもしれませんね。

最後に

余談ですが、私はプログラミング必修化が必要だと思いません。たぶん小学校でやらなくても、興味を持つ子は持つんだろうし、それは小学校で短時間プログラミングをやっても対して変わらないでしょう。
それに、先生にとってその短時間のためにかかる負担はかなり大きなものになると思います。
そこまでしてやることなのかな?というのが、私の意見です。

しかし、プログラミングを教えるために、小学校にバイトが雇われるなら、それはそれで良いのかな、とも思います。

小学校にプログラミング教えにいってみたいなー。

ということで、今回はプログラミング必修化について考えてみました。内容が固く、真剣な文章で読みにくかったと思います。すいません。

次回はもっと、技術的なことを書きたいと思います!

ではまた。