小学校プログラミング教育のねらい【子供にメリットしかない理由】

・小学生からプログラミング教育ってなぜ必要なの?
・プログラミング教育の目的が知りたい。
・プログラミングを学ぶメリットってあるの?

って思っている方に向けて本記事を書いています。

プログラミング教育のねらいは、プログラミング技術の習得ではありません
また、IT人材不足の解消をねらったものでもありません

たしかにIT人材不足は深刻な問題で、教育をすることで人材不足の解消へ貢献するかもしれませんが、教育の現場では狙うべきではない。

では、何のためにプログラミング教育をするのか?に関して、国が発行する「プログラミング教育の手引き」や「学習指導要領」を交えて、紹介いたします。

また、プログラミングを学ぶことは、学力向上だけでなく、社会に出ても貢献できるような能力を伸ばすというメリットがあります。
その辺もも詳しく紹介していきますので、ご覧ください。

プログラミングとは?小学生にも出来るの?

本題に入る前にちょっとだけ、プログラミングの説明。

プログラミングとは、プログラムを作ることで、プログラムとは、コンピューターに与える一連の命令のことです。

ラミたん
だから、とってもハードルの高いことよね。
小学生からでも出来るの?
たーみょん
身構えなくても大丈夫。
運動会や演奏会などのプログラムと同じって思ってもOK。
だから小学生でも作れるでしょ。
ラミたん
?!
最初に徒競走で次に騎馬戦、障害物競走、綱引き…
単なる予定表みたいなもんよね?
これなら小学生だけでなく、幼児にだってできるわね。

プログラムは単なる予定表です。
ただ、コンピューターに与える命令とするには、もう少し細かく書いた手順書というべきかもしれません。

しかも、言葉をあまり知らないド素人に教えるための手順書。

例えば、正方形を書くにしても、

進行方向に10cm直線を引く。
右へ90度向きを変える。
以上を4回繰り返す。
正方形の描画

といった感じで、細かく手順を示してやる必要があります。

このように手順書を書くことがプログラミングです。

物事を論理的に説明する必要があるので、かなり頭を使います。
でも、難しくはない。
筆者たーみょんの娘は幼児ですが、プログラミングの学習用ゲームを難なくこなしています

幼児でも出来るのだから、小学生でも簡単。
プログラミングはある意味パズルゲームのようなものです。

だから、子供でも一度ドはまりすると楽しみながら学ぶようになります。

小学校プログラミング教育のねらい【子供にメリットしかない理由】

小学校プログラミング教育の「ねらい」は下記の通りです。

プログラミング教育のねらい

  • 「プログラミング的思考」を育むこと
  • 情報社会の仕組みを知り、活用しようとする態度を育むこと
  • 各教科等での学びをより確実なものとすること
    (各教科で実施する場合)

ちなみに、IT人材不足の解消をプログラミング教育のねらいだと言っているところは多いですが、文科省の発行する「プログラミング教育の手引き」には全く記載されていません。

人材不足の解消が狙いでないことのあかしとして、手引きには、

プログラミングに取り組むことを通じて、児童がおのずとプログラミング言語を覚えたり、プログラミングの技能を習得したりするといったことは考えられますが、それ自体をねらいとしているのではない

と記載されています。

要するに、プログラミング教育は上に挙げた3つのねらいを実現するための一つの手段でしかないということです。

確かにIT人材不足は深刻な問題ではありますが、子供たちにその問題を押し付けるのはいささか傲慢な行為ではあります。
例えば、警察官が少ないからと小学生の頃から武術や法律の授業を強化すると言われても納得できないのといっしょです。

子供の将来の職業は子供自身に選ばせたいですよね。
そのため、子供には知識だけでなく、幅広い能力を育むことが大切になります。

そのために学習指導要領ってものがあって、その学習指導要領で挙げられている伸ばすべき能力とプログラミング教育のねらいとを交えての説明です↓。

学習指導要領の3つの柱

2020年度改定の学習指導要領では、下記3つの資質・能力を柱としています。
プログラミング教育のねらいと照らし合わせての紹介です。

資質・能力の三つの柱とプログラミング教育のねらい

  1. 知識及び技能
    身近な生活でコンピュータが活用されていることや、問題の解決には必要な手順があることに気付くこと。
  2. 思考力、判断力、表現力等
    発達の段階に即して、「プログラミング的思考」を育成すること。
  3. 学びに向かう力、人間性等
    発達の段階に即して、コンピュータの働きを、よりよい人生や社会づくりに生かそうとする態度を身に付けること。
    また、他者と協働しながらねばり強くやり抜く態度の育成、著作権等の自他の権利を尊重したり、情報セキュリティの確保に留意したりするといった、情報モラルの育成なども重要。

順に詳細書いていきます。

知識及び技能

身の回りの電気を使う機器はほとんどコンピューターが組み込まれていてプログラムで動いています。
例えば、炊飯器や電子レンジ、テレビ、リモコン、車など。
挙げればきりがないくらいにプログラムで動く機器に囲まれているんです。

でも、当たり前に便利になっているからこそ子供にとって身の回りの家電は魔法の箱と化しています。

身の回りの機器は魔法の箱ではなく、中にコンピューターが入っていて、実際に人がプログラムを作り、そのプログラムの通りに動いているということ。
そんなことを、実際にプログラミングの体験を通して気付かせます。

また、プログラミングの体験の中で、課題解決には手順があるということにも気づかせます。

例えば、ご飯を炊くという課題の場合で説明していきます。
プログラムされていない炊飯器があったとして、それを使うと電源を入れれば永遠に加熱し続けるので、放っておくと焦げてしまいます。
なので、以下の手順が必要です。

  1. 強火で加熱。
  2. 100℃(沸騰)以上か確認。
  3. 100℃以上だったら弱火にする。
  4. 弱火にしてから15分待つ。
  5. 15分経ったら過熱を止める。
  6. 過熱を止めてから10分待つ。
  7. 10分経ったら出来上がりの合図を出す。

実際に炊飯器を作ってみると面白いんですが、さすがにレベル高すぎますね。
なので、土鍋でご飯を炊く工程を体験し、その工程を上記のように文字に起こしてみると、コンピュータの仕組みや課題解決手順が存在することの気づきにつながりますね。

ちなみに、上記の例は、コンピュータを使わずにプログラミングを学ぶことができるという例でもあります。

思考力、判断力、表現力など

コンピューターに意図した処理を行わせるための論理的思考、つまり「プログラミング的思考」を育みます。

プログラミング的思考をより詳しく書くと以下の通り。

プログラミング的思考

プログラミング教育の手引きに書かれている「プログラミング的思考」の定義は以下の通りです。

自分が意図する一連の活動を実現するために、どのような動きの組合せが必要であり、一つ一つの動きに対応した記号を、どのように組み合わせたらいいのか、記号の組合せをどのように改善していけば、より意図した活動に近づくのか、といったことを論理的に考えていく力。
ラミたん
何言ってるのか全く理解できないわ。
たーみょん
ですよね。
もう少し他の言い方してみるね。

例えば正方形を描くとき、

  1. 線を描く
  2. 90度向きを変える

の2種類の命令が必要です。

まずは、線を描いて、その後に90度向きを変える必要があります。
同じ命令を4回書けば目的の図形が描ける。

でも、正三角形のときは、内角が60度だから、向きを変えるところの角度も60度にしたけど、うまくいかない…。(こんな感じ↓)

正三角形の描画_失敗

向きを変える角度は進行方向との角度であって、内角ではない。
だから、120度(180-60)にすると、目的の図形が描ける。

以上のように、コンピューターに意図した処理がされるように順序だてて考えることが「プログラミング的思考」です。

まぁ、論理的思考と思っても問題ないですね。
「プログラミング教育の手引き」では、プログラミング的思考と論理的思考は厳密には違う雰囲気で書かれていますが、同じものとして使っても支障がないので、本サイトでは一緒として扱っていきます。

学びに向かう力、人間性など

問題の発見、解決の際にコンピューターを使い、よりよい社会にしようとする態度が自然と身に付くように育みます。

ちょっといい例が思いつかないので、社会に出て事務作業をするときの例を挙げます。
例えば、毎日決まりきった書面の発行をするという仕事をしていた場合、毎日行う入力は、日付と担当者、金額の3つです。

単純な作業のため、何度も繰り返していると、時々日付や担当者が抜けるといったミスをします。

そこで、そういったミスを防ぐために表から自動で書面を作るプログラムを作れば良いと考えつきました。

日付担当者金額
2021/3/3A1,000
2022/3/5B5,555
2025/12/5C3,525
D6,587

↑この表から↓この文章の該当箇所だけ変更して自動で作成する。

課題解決にコンピュータを使う書面例

書面の中に日付2022年8月8日と担当者Eに加え金額 円を記載していきます。
ひな型を作って一つひとつ手作業で記載するのは骨が折れますね。
しかもミスもしやすい。
その問題に気が付き、改善しようとする態度を身に付けようとする。

書面の中の空欄よりも、表の中の空欄の方が見つけやすいですからね。

以上のように問題を発見し、解決しようとする態度を身に付けることが目的です。

さらに言うと、問題解決が困難なときは仲間と協力し合って解決し、成果物を周りに広めてみんなの役に立とうと積極的に働きかけるって態度も身に付けます。

また、著作権のある物やプライバシーにかかわるものをネットにばらまかないといった情報モラルの育成も重要です。
漫画やアニメなどの著作物を無断でyoutubeなどで公開したり、友人の恥ずかしい写真をSNSでばらまいたりと情報社会のモラルを教育することも目的としています。

プログラミング教育は子供にメリットしかない理由

プログラミングを学ぶことのメリットは下記効果があることです。

プログラミングの効果

  • 課題解決能力
  • 創造力
  • 学習意欲
  • 試行錯誤する忍耐力

詳細は下記記事に記載しておりますのでご覧ください。
関連記事:>> プログラミングの効果【3つの論文と25団体、3人の有識者の意見】

また、教育のねらい通りにいけば、社会に出ても十分以上の成果が残せることは明白ですね。

ラミたん
でも、メリットしかないってのは言い過ぎよ。
反対意見も良く聞くわよ。
たーみょん
デメリットを主張するような意見の多くは、本質を理解していないんだよ。
だから、英語や国語を勉強しても意味がないと言ってるのと同じくらい哀れなんだよね。

「プログラミング教育をしても難しすぎて子供がついていけない」とか、「そもそも教えられる先生が少ない」とかって意見もあります。
でも、それは、完全にプログラミングのハードルをめちゃくちゃ上げて考えている意見です。

例えば、プログラミングを本格的に作っている人と同じソフトを使って、英語でプログラミングをするのだと勘違いしています。

実際は日本語を使えるし、やることも簡単で、先生になるような大人だったら容易に教えられるレベルです。

他にも、教育のねらいを理解してないがために色々なデメリットを主張する人がいますが、完全に間違っています。

ということで、プログラミング教育はメリットしかないです。

IT人材不足の解消

教育の「ねらい」ではないけれど、一応、IT人材不足に関してちょっとだけ解説。

IT人材需給に関する調査:経済産業省」によると、2030年には、45万人IT人材が不足するとのことです。

IT人材の不足数

2018年2020年2025年2030年
22万人30万人36万人45万人

最悪のシナリオの場合は2030年に79万人不足。

ラミたん
現状でも30万人強足りてないってことはIT業界は回ってないの??
たーみょん
多くの場合しわ寄せは下請けだね。
IT土方とか、デジタル土方って言われてて、ブラックも多いらしいよ…。
ラミたん
無理やり回しているのね…。
じゃあ子供たちが苦しい思いをしないように、プログラミングをさせないでおきましょう。
たーみょん
一部のデメリットだけを見て子供の選択肢を奪うのは良くないね。
それに、プログラミングの技術を身に付けるための教育ではなくて、子供の色んな能力を育むための教育だからね。

まとめ

プログラミング教育のねらいは

  • 「プログラミング的思考」を育むこと
  • 情報社会の仕組みを知り、活用しようとする態度を育むこと
  • 各教科等での学びをより確実なものとすること

です。

要するに、
自分で考えて、その考えを社会に生かす人を育てる
ってことをねらいとしています。

プログラミング教育は、技術の習得が目的ではなく、上記「ねらい」を実現することが目的であって、子供の能力を育むための一つの手段です。
プログラミング技術の習得に注目しがちですが、子供の能力(課題解決能力、忍耐力、創造力など)に注目し、その能力を伸ばすことを大切にしていきたいですね。