2020年から小学校でプログラミング教育が始まりました。
本記事の執筆は2021年3月ですので、まもなく導入から1年が経過しようとしています。この1年間で、各学校ではどのような授業が行われてきたのでしょうか。
そこで今回は、過去に小学校で行われたプログラミング教育の事例と、実際にプログラミング教育支援活動を行っている私の経験から、お子様と一緒にプログラミングを学べる遊びについてご紹介させていただきます。
※プログラミング教育導入の背景についてはこちらの記事で解説しておりますので、ご興味のある方はご覧ください。

その前に知っておきたいGIGAスクール構想
プログラミング教育と混同されがちなので、GIGAスクール構想についても触れておきたいと思います。
GIGAスクール構想とは、生徒1人に1台の端末を貸与することで、「情報リテラシーにおいては全ての生徒が公正な教育を受けられる環境をつくる」というものです。
現在、文部科学省ではこの構想をもとに、各公立小学校における端末の配布を進めています。
これまで自宅ではタブレットやスマホを学習に使うことがなかった生徒も、授業中に触れることができますので、これからの社会にとって必要な情報リテラシーを身に着けていくことが期待されます。
※参考文献:文部科学省「GIGAスクール構想について」

さて、ここからは本題に戻り、実際に公立小学校で行われたプログラミング教育の事例についてご紹介いたします。
プログラミング教育の実施例
以下の3つの公立小学校は、民間企業が参入し、特にプログラミング教育に力を入れている学校です。それぞれ異なるツールや課題を用いて、「プログラミング思考」に慣れ親しみ、育む教育を行っています。
横浜市立北山田小学校の事例
5年生算数の授業でプログルというビジュアルプログラミングツールを利用し、正三角形を描画するプログラミングを行ったそうです。
正三角形を描画するためには、下記のプロセスを理解する必要があります。
1.直線を描画
2.角度を変更
3.直線を描画
4.角度を変更
5.直線を描画
おもしろいのはここからで、この考え方をもとに、正五角形や正六角形など、どうやったら描画できるかを生徒自身に考えさせたというところです。
「変更する角度を変えてみたらどうか?」「これって同じ処理を繰り返してるんじゃない?」など、子どもが自発的に思考力を働かせ気がつく瞬間を想像するだけで胸が躍ります。
つくば市立茎崎第三小学校の事例
6年生理科の授業にて「安全で効率よく動く信号機を考える」という課題に取り組んでいました。
まずは構想、「どんな信号機が安全か」「どうやったら効率よく機能するか」を考えます。
その後、LEDとセンサを搭載した基盤をパソコンに接続し、MakeCodeというビジュアルプログラミングツールでプログラムを組み、実装します。
この授業を通して生徒たちからは、次のような独創的なアイデアが出てきたようです。
・点灯時間の違う「ボタン式信号機」
・青信号の残り時間を知らせる「タイマー掲示式信号機」
このようにひらめきが生まれ、新しいアイデアが出てくるということは、子どもたちが授業内容をしっかり理解している証拠ですね。
塩竈市立月見ヶ丘小学校
5,6年生英語の授業にて、scratchを使った事例です。
まずは、画面上に配置された目的地まで道案内をする人と、道順をコーディングする人に分かれます。コーディングする人は道を尋ね、案内役は「Go straight」「Turn right」のように、英語で回答します。案内を聞いたらscratchでコーディングをしていき、最終的に実行した際に目的地にたどり着けるかというものです。
※参考文献:文部科学省「小学校プログラミング教育指導事例集」

その他公立小学校の対策
その他多くの公立小学校では、どのような授業が実施されているのでしょうか?
私が取材した小学校では、2021年2月時点で、ようやくひとり1台のiPadが導入されていました。前述の事例のように、先進的なプログラミング教育を実施している学校に比べると、まだ準備段階といったところでしょうか。
現在はiPadを利用して、高学年はプレゼンテーション資料の作成、中学年では情報検索、低学年では動画や写真撮影、と、年齢に合わせてICT機器をツールとして、日常的に使用したり慣れるための授業を行っているようです。
プログラミング教育の実施までは追いついていないようですが、GIGAスクール構想にある「全ての生徒が公正な教育を受けられる環境をつくる」という観点においては、徐々に整ってきているようです。
ちなみにその小学校では今後、scratchや、理科の授業などで、アプリを利用したプログラミング教育を検討しているとのことです。
導入のスピード感に差はあるものの、どの小学校も、「情報教育の機会」は平等に整えられるよう進められているという印象を受けました。
大人も子どもも楽しめる、身近にプログラミングを感じられる遊び
プログラミング教育の狙いのひとつとして、「コンピュータに意図した処理を行わせるために必要な論理的思考力を身に着ける」というものがあります。
小学校のプログラミング授業では、コードを書くようなプログラミング自体を学ぶのではなく、論理的思考力を学ぶのです。
たとえば、コンピュータは同時に複数の命令を実行することができません。そのため、ひとかたまりの手順をひとつひとつの命令に細分化してあげる手間が必要になります。
その考え方を養うために最適な、こんな遊びをご紹介します。
必要なものはこれだけです。
・模造紙
・付箋(なければ10cm四方程度に切った紙片)
・サインペン
次に課題を発表します。身近な電化製品などがおすすめです。
そしていずれかの電化製品を選択してもらい、それはどういう仕組みで動いているのかを想像し、ひとつひとつのプロセスを付箋(紙片)に記入してもらいます。例えば扇風機であれば、「ONボタンを押す」「モーターが回る」に加え、「風量弱ボタンを押す」「モーターの回転速度が落ちる」などとなります。
正解を求める必要はなく、言葉の表現があいまいでもかまいません。
気を付けたいのは大人が「それは違う」「こうしたら?」など、回答につながる助言はしない、ということです。
もしもお子様が行き詰ってしまったときは、「扇風機をつけるときはどうしている?」「扇風機ってそのあとどういう風に動く?」など、方向性を見せてあげる程度にとどめると、面白い回答が得られます。
複数人で遊ぶ場合は、チーム分けし、最後に発表してもらうのもお子様にとっては得るものが大きいはずです。
これは私が講義をする際によく使う手法なのですが、
この遊びは、実は私が講義をする際によく使う手法なのですが、
プログラミングを行う上で作成する「フローチャート」というものをつくる作業にあたります。
実際に行ってみると、お子様の発想の柔軟さに驚かされることがしばしばで、子どもが自発的にプログラミング思考である「分岐処理」や「繰り返し処理」を書いていることがあります。
最近では実務であまり使うことがなくなりましたが、一昔前はプログラムを打つ前に紙にフローチャートを書いて、動作することを確認したうえで、プログラミングを行っていました。
この簡単なゲームでも、プログラミングの基礎を学ぶことができるのです。
まとめ
小学校ではGIGAスクール構想の導入が進み、情報社会において必要な教育を平等に受けられる時代になってきました。
お子様とプログラミングについて学んでみたいとお考えでしたら、scratchやプログルといった有名なビジュアルプログラミングツールを使うのも面白いのですが、「何のためにこの教材を使うか」という観点から、学び方と方向性を決めてみるといいかもしれません。
いろいろなアイデアが出てきて、大人もお子様も楽しめる時間が過ごせると思います。