今さら聞けない小学校のプログラミング教育!プログラミング的思考を身につけるってどういうこと?

  • 教育動向

2020年度から必修化された小学校のプログラミング教育。とはいえ、プログラミングという教科があるわけではありません。そのため、実際の授業の様子や、ご家庭でできるサポートもイメージしづらいのではないでしょうか。

そこで、進研ゼミ小学講座 有料オプション「プログラミング講座」の監修者で、岐阜聖徳学園大学・教育学部准教授の髙木正之先生に小学校のプログラミング教育の現状や授業の具体例、ご家庭でできる勉強法についてお伺いしました。
3回シリーズの1回目の今回は入門編。小学校のプログラミング教育の概要やプログラミング的思考とは何かについてご紹介します。

実は、プログラミングからは、「コンピューターを使う姿勢」に加えて「他者と交流する学び合い」も得ることができるのです。さっそく見ていきましょう。

この記事のポイント

小学校でプログラミング教育が必修化された目的

小学校でプログラミング教育が必修化された経緯は、文部科学省の「小学校プログラミング教育の手引(第三版)」(※1)に詳しく説明されていますが、社会情勢の変化が大きく関わっています。

コンピューターなどICT機器やAI、さらにはChatGPTに代表される生成AIが発達した現代は、変化が激しく、将来の予測が難しくなっています。これまで経験したこともないような課題に直面することも考えられ、コンピューターやAIなどを適切に活用して、問題解決していくことが不可欠となります。

そのため、思考力が大きく育つ小学校の段階から「コンピューターを適切に活用する力」や問題解決に役立つ「プログラミング的思考」を養成することとなったのです。プログラミング教育は、いわばこれからの社会を生きていくうえで必要不可欠な力を養うものだといえるでしょう。

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

プログラミング教育で育む資質・能力は、次の3つの柱で整理されています。(※1)

1【知識及び技能】コンピューターの知識や、活用スキル

2【思考力、判断力、表現力等】プログラミング的思考

3【学びに向かう力、人間性等】コンピューターを生かそうとする態度

この中で特によく耳にするのが「プログラミング的思考」なのではないでしょうか。詳しくは後述しますが、プログラミング的思考とは、目的を達成するために、筋道立てて考え、試行錯誤や周囲との議論をくり返して最適解を見つけ、検証する論理的思考力のこと。変化の激しいこれからの社会の問題解決に欠かせないスキルで、パソコンを使ってプログラムをつくるだけでなく、他の教科学習の中でも磨かれていくものです。

また、「3【学びに向かう力、人間性等】コンピューターを生かそうとする態度」も非常に重要です。コンピューターを生かすには「コンピューターに親しみを覚えること」と「限界を知ること」の両面が求められます。コンピューターは魔法の箱でもなければ、冷たいものでもありません。AIも万能ではありません。人間の判断を蓄積したものだということを理解してこそ、AIに振り回されず、AIを主体的に活用することができるようになります。

プログラミング的思考とは何か。論理的思考と何が違う?

プログラミング教育で育まれる「プログラミング的思考」とは、具体的にどのようなものなのでしょうか。課題に対して筋道立てて考え問題解決をするという点で、論理的思考力とニアリーイコールのようにとらえられることもありますが、次の2点で異なっています。

1)1つの正解ではなく、目標・ゴールへたどり着く道筋・プロセスの多様性からも学ぶ

1点目は、論理的思考が1つの正解に比重が置かれていることに対して、プログラミング的思考は、目標・ゴールへたどり着く道筋・プロセスの多様性からも学ぶということ。

「どのやり方でも目標達成できるけれど、Aさんのやり方が最もプロセスが少ないからミスが起きるリスクが減るね」というように、自分の思考だけでなく、他の人の思考も積極的に活用・比較検討して最適解を導き出します

これは、学び合いで集合知を高めているともいえるでしょう。
小学生は、他の子がどう考えたかやどんな工夫をしたのか、自分とどう違うアプローチをしたのかなどがとても気になるもの。そのため、学び合いは子どもたちの実情にも即したとても有効な方法となります。1人1台タブレットというと、学習が孤立化しそうなイメージもあるかとは思いますが、逆に他者と交流する学び合いが生まれるわけですね。

2)失敗を活用し、仮説検証をくり返す

2点目は、失敗を活用して仮説検証をくり返すプロセスも重視しているという点です。

仮説を立ててプログラミングをしたものの思いどおりに動かない。
何が失敗の原因だったかを考える。
再度プログラミングし検証する。

こういった仮説検証を何度も何度もくり返すのは、実際にエンジニアが行っているデバッグと同じことです。課題が高度になればなるほど、1回で解決できることはほとんどありません。そのため、失敗を生かし、仮説検証をくり返して精度を高めていくことが重要になります。

プログラミング的思考と論理的思考との違いを見てみると、プログラミング的思考が生きていくうえでの大きな武器となることがおわかりいただけるのではないでしょうか。
どんなことでも、筋道立てて手順を導き出し、失敗や他人との学び合いをとおして軌道修正していくことで課題解決につなげる。この時、重要になるのが、目標・ゴールがはっきりしていることです。
ゴールが明確化されているからこそ、仮説を立てたり、筋道立てたアプローチを考えたりするためです。最初は与えられた目標に対してプログラミング的思考を活用することから始め、徐々に自ら目標自体を考え出せるようになっていくことが重要です。

いつからどんなことを学ぶ?

小学校のプログラミング教育では、何年生からどのような授業があるのでしょうか。
文部科学省が令和2年2月に発表した「小学校プログラミングの手引(第三版)」(※2)には、次のような例が記載されています。

● 小5・算数:プログラミングをとおして、正多角形の意味をもとに正多角形をかく
正多角形について「辺の長さが全て等しい」「角の大きさが全て等しい」という意味を用いて定規と分度器を用いた作図とプログラミングによる作図を行う。

● 小6・理科:電気の性質や働きを利用した道具があることをプログラミングをとおして学習する
光電池で日中コンデンサに蓄えた電気を夜間の照明に使う場合、どのような条件で点灯させるのが効率よく電気を使えるかを考えるため、通電を制御するプログラムの作成に取り組む。

プログラミング教育は、学習指導要領においても例示がされているのみで、必須で取り組む単元が指定されているわけではありません。
何年生から取り組むといった決まりもありませんが、例示されている内容を見る限り、高学年が想定されていると考えられます。学校の授業でどう扱うかについては、各教育委員会や学校ごとに検討・実施されています。

2020年度に小学校のプログラミング教育が必修化された際は、新型コロナウイルス感染拡大のタイミングとも重なったため、コロナ対応に追われ、プログラミング教育が進めづらい状況にありました。

しかし、現在は各学校ごとの取り組みも徐々に進み、事例も蓄積されつつあります。
2024年度の教科書改訂においても、多くの科目でプログラミングに関する記述が増え、より充実したプログラミング教育が行われることが期待されています。上述した電気の利用の単元については、教育向けマイコンボードであるmicro:bit(マイクロビット)を用いた教材を導入する学校も少なくないようです。

2回目では、実際の小学校で行われているプログラミング教育の授業事例についてご紹介します!

第2回目:実例紹介!小学校のプログラミング教育で行われている授業内容とは?

まとめ & 実践 TIPS

プログラミングというと、プログラミング言語を活用してコーディングするという印象を強くお持ちだった保護者のかたもいらっしゃるかもしれません。しかし、小学校でのプログラミング教育は、単なる知識やスキルにとどまらず、コンピューターを主体的に使いこなす態度や、どんな課題にも筋道立ててアプローチし解決するプログラミング的思考を育むのです。
ご家庭でも、学校でどのようなことを学んでいるのかや、その重要性についてお子さまとお話しされてみるといいですね。


出典:
※1、2
文部科学省「小学校プログラミング教育の手引(第三版)」
https://www.mext.go.jp/content/20200218-mxt_jogai02-100003171_002.pdf

プロフィール

髙木正之

岐阜聖徳学園大学・教育学部准教授

公立小学校教師を経て現職。小学校学習指導要領(理科)作成に関わる。多くの自治体や小学校で、プログラミング教育に関する教員研修や出前授業を行なっている。また、進研ゼミ小学講座 有料オプション「プログラミング講座」の監修も務めている。

  • 教育動向

子育て・教育Q&A