【小学校プログラミング教育:A分類】図形をプログラミングを使って「楽しく」描く
小学校プログラミング教育の授業構成を検討するうえで「何をどうやって教えたら良いのか?」を考えるのも一苦労という方もいらっしゃるのではないでしょうか。
図形を描くのは良いけど、プログラミングとどうやって組み合わせれば良いのか?楽しんでもらうためにはどうすれば良いのか?について解説します。
授業の本質
図形をプログラミングで行うことの本質のひとつとして筆者が考えるのは「自分自身の頭の中のイメージをどのようにICTで具現化するか」です。
プログラミングで図形描写処理をマスターすることでもなければ、図形描写の部分を楽にするというわけでもないことは間違いないでしょう。実際にプログラミングの世界で、図形をひとつひとつプログラムに打ち込むといったことは行うことは稀なことです。
この本質を実現するための手段として、Scratchなどのビジュアルプログラミングツールを使用したり、もっと本格的にプログラミング言語(JavaScriptやPythonでもなんでも可)を使うなどの判断は教職員の方々の判断によって決めてしまって構わないと思います。
また、小学校低学年であれば、たとえビジュアルプログラミング(擬似言語)であっても使いこなすだけで精一杯(もしくはいじるのが楽しい)で終了してしまいます。アンプラグドなツールで代用でも全く問題はないでしょう。
授業の構成
では、授業の本質を見失わぬまま「楽しく」プログラミングを行うにはどうすれば良いのでしょうか。授業の目標である「プログラミングを使って図形を描く」ためには、以下の構成で進行することが必要となります。
- 手段を覚える
- 図形を覚える
- 図形を描く
従来の授業にはない「手段を覚える」という項目が入ります。従来の授業であれば、コンパスの使い方や分度器の使い方を教えるに近しい内容ではあるものの、使い方が複雑化しているためここに時間を割かないといけないという課題を持っている方も多いのではないでしょうか。
手段の覚え方
ここで解説する手段とは、前述のScratchやプログラミング言語、アンプラグドのツールすべてを示します。「どの手段(ツール)を使うにしてもまずは使い方を覚える時間を作る」ことが重要です。本時に組み込むのはなかなか大変という方もいらっしゃると思いますが、避けては通れない、かつ重要なポイントです。以下のような進め方で導入を検討してみると良いかもしれません。
1. 習熟の時間を設ける
ツールの使い方をしっかりと覚える習熟の時間を設けます。おそらく2~3時間は取る必要があると思います。習熟の時間については基本、フリーでいじくり回してもらうくらいの間隔で良いのですが、最低限でも「覚えるべき操作」は設定しておきましょう。
覚えるべき操作についてはレジュメを作るでも良いと思いますし、マニュアル化してしまうのがベストです。マニュアル化してしまえば、他の授業でも流用ができ、授業準備の効率化とクオリティの均一化に繋がります。
習熟の時間を作れば、子どもたちも、普段とは違うその時間に集中して手段を覚えてくれるでしょう。
2. 各授業時間内に少しずつ触れる時間を取り入れる
こちらはおそらく授業の終わり5分~10分の間で良いでしょう。子どもたちもハマればその時間も楽しみに授業に取り組んでくれる可能性もあります。
3. 授業の前半でゴールを見せる
習熟の時間をまとめて取れないという方にはこちらの方法が良いかもしれません。方法としては、授業の前半(タイミングは任意)で「このあとこういうツールを使ってすごいことができるよ」と紹介をするのです。
ただし、習熟の時間を取る方法よりも、理解度合いは低くなる可能性があります。授業のモチベーションアップやマインドセットのような使い方になるでしょう。
図形を「楽しく」描く
それでは、図形を「楽しく」描くためにはどうすれば良いのでしょうか。
今回提案したい方法は「ロールプレイング型授業」です。いわゆるゲーミフィケーションに近しい考え方となりますが、授業に「経験を積むことによって図形が描ける楽しみ」を組み込みます。
これは、授業を進めることによって、プログラミング要素に必要な「パーツ」を習得し、最終的に演習を進めるといった内容です。
例えば、以下のような条件で算数の授業にプログラミングの要素を組み込む場合を考えてみましょう。
条件
対象
小学校5年生
教材
Scratchを使用
PC
5名に1台
人数
5名で1グループを構成
ゴール
Scratchを使って四角形を描く
流れ
- 事前に多角形の書き方を座学で理解する
- 座学で学んだ内容または後のプログラミングに関するヒントとなる資料をパーツとして授業後に配布する
- 5名1組のグループを想定しているため配布するヒントは5名ごとに異なっても同じでもOK
- パーツの内容はヒントレベルでOK(例えば、Scratchで図形を描くには「角度」が必要など)
- 最後に取得したパーツを元にScratchを使う
算数などの理数系の科目はプログラミングとは相性が良いものです。
他にもやり方は様々な方法がありますが、与えられた状況だけで目標を達成するための潤滑剤となるエッセンスを加えて楽しいプログラミング教育を実施してみてください!