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

小学校のプログラミング教育では、どのような授業が行われているのでしょうか? コロナ禍で授業参観の機会も減り、なかなかその実態は見えづらいですよね。
そこで、進研ゼミ小学講座 有料オプション「プログラミング講座」の監修者で、岐阜聖徳学園大学・教育学部准教授の髙木正之先生に、実際の授業の実例をお伺いしました。前回の記事「今さら聞けない小学校のプログラミング教育!プログラミング的思考を身につけるってどういうこと?」も合わせてご覧ください。

この記事のポイント

小学校のプログラミング教育の現状は?

2020年度から必修化された小学校のプログラミング教育。学校や教員の尽力はあるものの、コロナ対応にも追われ、なかなか手が回り切らないところもあるようです。しかし、いくつかの学校でプログラミング教育の立ち上げをサポートしている中、良い授業事例や効果が生まれつつあるのを感じています。

プログラミング教育は、プラグド/アンプラグドの2種類に分けられます。

● プラグドプログラミング:PC利用。Scratch(ビジュアルプログラミング言語)などを使って、実際にプログラミングを行う。

● アンプラグドプログラミング:PCを使わず、プログラミング的思考を活用した問題解決を学ぶ。

PCやタブレットを使わないプログラミング教育があるということに驚かれるかたもいらっしゃるかもしれません。しかし、問題解決の手順を学ぶことは、プログラミングでいう「アルゴリズム」を学ぶということ。PCを使わなくても、科目学習の中でプログラミング的思考を学ぶことはできるのです。

PCやタブレットを使った授業事例:信号機のプログラミング

まずは、PCやタブレットを活用したプラグドプログラミングの授業事例として、歩行者用信号機を作る授業をご紹介します。

ゴールは、誰もが知っている歩行者用信号機の動作をプログラミングで実現すること。歩行者用信号機は、赤が点灯して何秒かたつと青が点灯、青が点灯して何秒かたつと点滅、また赤が点灯の繰り返しですね。シンプルに思える動作でも、いざプログラミングするとなかなか思うようにはいかないのです。

・赤と青が両方点灯してしまう
・青が点滅しない
・実際の信号の動きとタイムラグがある

うまくいかないたびに原因を考え、プログラムを手直しし、再チャレンジを繰り返しゴールに近づけていきます。これらのトライアル・アンド・エラーを通して、体感的に2つの学びが生まれます。

トライアル・アンド・エラーの重要性

子どもたちは、思い通りに動かない失敗を通して、原因や解決策を考え実行する、いわば「仮説検証」を繰り返します。

たとえば「赤と青が両方点灯してしまう」という失敗であれば、「赤を消す」指示の入れ忘れだと原因を特定。プログラムに反映します。「青が点滅しない」という失敗であれば、原因は「点滅させる」という命令がないことと特定。「つく」「消す」の指示を連続させることで点滅を表現しようと解決策を工夫します。しかし、「つく」「消す」の連続が早すぎて点滅に見えず失敗。「消す」のあとに、0.1秒待つ指示を入れて完成……といった具合に、失敗を起点に仮説検証を重ね、ゴールに近づいていくわけです。

これは、実際のプログラミングの現場で行われているデバッグと同じです。子どもたちも実際に自分たちで手を動かし、頭をフル回転させるからこそ、その重要性を実感できます。子どもたちの集中力はすごいもので、教師が口出しせず見守るだけでも改善していきますよ。

問いを立てる力

悪戦苦闘のすえ、歩行者用信号機のプログラミングを完成させた子どもたちからは、自発的に新たな課題設定が生まれます。「押しボタン式の信号はどう作ればいい?」「夜だけ押しボタン式のものはどうだろう?」といった具合です。与えられたゴールを解決するのでなく、ゴールから自分たちで考えるわけです。

これは「問いを立てる力」といわれる、これからの未来社会に必須のスキルです。ある大手メーカーの開発のかたとお話した際にも「いずれプログラミングそのものはAIにもできるようになる。でも、問いを立てることは人間にしかできない」との指摘がありました。プログラミング教育を通して「問いを立てる力」を磨けば、AIに脅威を感じるのでなく、AIを主体的に使いこなせるようになるかもしれませんね。

PCやタブレットを使わない授業事例:説明文の要旨をまとめる

続いて、PCやタブレットを使わないアンプラグドプログラミングの授業事例をご紹介します。小学校6年生の国語の授業で、説明文の要旨を300字にまとめるという授業です。「国語でプログラミング?」と驚かれるかもしれませんが、次の手順でアルゴリズム(問題解決の手順)を学んでいきます。

・説明文を読んで、300字の要旨をまとめる。
・上手に要旨をまとめられた人にインタビューを実施。書くまでの手順を要素分解し、上手に書けた人の共通項を探す。
・見出した共通項を要旨を作成するためのアルゴリズムとしてクラスで共有。

要旨を上手にまとめられる人は、ただなんとなくまとめるのでなく、テーマやキーワードを確認したり、文章構造をとらえ主張を押さえたりするなど、パターン化された思考があります。これを押さえることは、要旨作成のためのアルゴリズムを理解するということです。これらを通じて、子どもたちは次のことを学びます。

どんなことにも手順・パターンがあること

「要旨を書く」といった一見すると、センスが物を言うように思えることにも、手順やパターンはあります。それを理解し、手順を導き出す方法を手に入れることで、子どもたちの勉強そのものが変わっていきます。

それは「よく考えよう」「努力しよう」という曖昧で、ともすると根性論に陥りがちなものではなく、やり方を見つけていこうという姿勢に変わるということ。問題解決のための思考、つまりプログラミング的思考を武器としていくわけです。

そうすれば「逆上がりができるようになろう」といったゴールにも「一生懸命練習しよう」ではなく、「まずは、逆上がりの手順をまとめよう」といったアプローチに変わっていくでしょう。学校の授業そのものの在り方も変わっていくかもしれませんね。

他の人の試行錯誤から学び、最適解を見つけ出すこと

また、他人の思考や試行錯誤を学び、それをうまく取り入れて最適解を見つけ出すことも学んでいきます。要旨の書き方も、上手に書けた人の例をもとに共通項を見つけ、1つのアルゴリズムを導き出しています。これは、問題解決のために学び合いを実践し、単なる正解ではなく最適解という集合知を導き出したといえるでしょう。

この他の人の思考からも学ぶというのは、今回ご紹介したアンプラグドプログラミングだけでなく、プラグドプログラミングの場でも取り入れられています。チーム制でプログラミングする際などは、他のチームの良いアイデアから学ぶことはもちろん、ツッコミも生まれていますよ。非常に活発な学び合いが行われています。

まとめ & 実践 TIPS

PCを活用するプラグドプログラミングの授業であれ、PCを活用しないアンプラグドプログラミングの授業であれ、プログラミング的思考を磨く多くの工夫がされていることがわかりました。問題解決の手順を導き出すことや、仮説検証を行うこと、他者との学び合いから最適解を導き出すことで、どんな課題に直面しても対応できる力が身に付きそうですね。
ともすると、孤独なイメージがあるプログラミングも他者との学び合いが生まれ、チームワークが活発化しているのもうれしい驚きに感じられたのではないでしょうか。

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

プロフィール

髙木正之

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

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

お子さまに関するお悩みを持つ
保護者のかたへ

  • 頑張っているのに成績が伸びない
  • 反抗期の子どもの接し方に悩んでいる
  • 自発的に勉強をやってくれない

このようなお悩みをもつ保護者のかたは多いのではないでしょうか?

\そんな保護者のかたにおすすめなのが/
まなびの手帳ロゴ ベネッセ教育情報サイト公式アプリ まなびの手帳

お子さまの年齢、地域、時期別に最適な教育情報を配信しています!

そのほかにも、学習タイプ診断や無料動画など、アプリ限定のサービスが満載です。

ぜひ一度チェックしてみてください。

この記事はいかがでしたか?

おすすめトピックス

子育て・教育Q&A