新潟市立濁川小学校で、5年生のプログラミング学習の授業を2クラス(2時間×2回)行いました。
内容としては、文科省がプログラミング学習のA領域(学習指導要領で例示されている単元等で実施するもの)として例示している「5年 多角形の作図」です。
すでに、この「多角形の作図」は、Scratchを使って図形を描くことがいろいろ実践されていて、目新しい物ではありません。一般に、画面上で行う「ビジュアルプログラミング」で行っているのですが、ロボットなどを使った「フィジカルプログラミング」でこの多角形の作図を行った例は少ないのではないでしょうか。
ここで登場するのは、ユーレカ工房のPlotcarです。
ブログで、すでに2年生の「算数 長さ」の学習で登場しています。このPlotcarは、ステッピングモーターという高精度のモーターを使用することで、命令通り進んだり曲がったりします。
使用プリントは次の通りです。(必要な方は、ご自由にお使いください)
授業のポイントは、おおよそ次の3点です。
- 内角と外角の違い
- 順次処理と反復処理の活用
- そして、2時間目に行った複合図形の描き方の仕組み
今回の流れを解説します。
1時間目
プロットカーに備わっている命令の説明
正方形のプログラム
5年生は、プロットカーを使った順次・反復処理を学習済みでしたので、この命令も反復処理を使えば簡単になるという意見がすぐ出されました。
ということで、ここは時間短縮もあり、反復命令をうまく使って、正三角形に取り組みます。
頂点の回転が60°(内角)か120°(外角)か。車が動きながら描くと考えると、頂点で120°回転しないと正三角形を作図できない。
プログラミング学習をしたころは、ほとんどの児童が60°でやって、「あれ、変だなあ~」となり、120°(外角)に気づくというパターンでした。
もちろん、数学的な関心が強くて、最初から気づく子もいるでしょう。ただ、どこかでやったことがあって、すでに120°を知っている子もいたかもしれません。(そういう子のためにも、今回の2時間目は楽しいです)
5年生は、児童同士関わりを持って外角に気づき、次の課題の正五角形・正六角形に取り組んでいました。
2時間目
個人的な考えですが、この多角形を作図するという問題は、プログラミング的な思考を高められるかというと、あまり適した問題では無いと思うのです。というのは、三角形だから内角・外角が出てくるだけで(これって、プログラミングというより数学的な知識ですよね)、これがもし正方形だったら低学年でも楽々作図できる問題です。現に、2年生では角度を使わずに「直角」を使ってコース通りに車を走らせていました。
ということで、ここからがメインの授業です。反復命令を使って、次の作図に挑戦します。
すでに前時で多角形を描けるので、ここからは多角形・円のブロックを使わせます。このブロックだけで、多角形・円を描けます。
上の三角形が3つ合わさった図形の描き方、分かりますか?
「正三角形が描けたら120°その場で回転させる」、これを3回繰り返すことで完成します。
これさえ分かってしまえば、今回の図形はほとんど描くことができます。
この中で一番難しいのは、次の問題です。
これも、(ちょっとだけ回転させてから)斜めにずらすことで簡単に描けます。ずらす角度が30°だったら、360÷30=12で、12回繰り返すことで描けます。
この図形は、算数が得意な子にもっとも人気がありました。図形もきれいですから、魅力的なのでしょう。実際にプログラムを使って完成した猛者がいました。
着々と次の問題に挑戦する子もいれば、正直難儀している子もいました。ただ、そういった子どもたちも、時間いっぱい工夫しながら作図に挑戦していく姿が、フィジカルプログラミングの良さです。また、論理的な思考の場を高めるには、ひじょうに適した問題だと思いました。
「論理的な思考」は、数学的な力だけではありません。国語で扱う「順序、原因ー結果、比較など」が役立ちます。プログラミング学習は、「プログラミング」を通して日頃の学習の成果を発揮する場でもあり、さらに他教科の力を高めるためにも役立つ学習です。
今回は、ガチ授業の内容になってしまいましたが、いかがだったでしょうか。全国どの学校でも、子どもたちの未来のために、プログラミング学習を生かして欲しいと思います。