わさっきhb

大学(教育研究)とか ,親馬鹿とか,和歌山とか,とか,とか.

小学校のプログラミング教育も,正解は一つではない

比較的短い全文を読んで,「かけ算の順序」を脳裏にかすめつつも,プログラミング教育については以前に記事を書いていたたなあと思いながら,http://d.hatena.ne.jp/takehikom/20161120/1479571898を見つけ,http://b.hatena.ne.jp/takehikom/20181213#bookmark-374870640のとおりはてブしました.
ところで先日,小学校のプログラミング教育について,本を1冊,Amazonで発注していまして,すでに届いていました.

小学校の先生のための Why!?プログラミング 授業活用ガイド

小学校の先生のための Why!?プログラミング 授業活用ガイド

ぱらぱらめくってみました.大きく薄く,全ページカラーです.2年生算数「正方形の性質を理解しよう」(pp.34-44)を重点的に読みました.
Scratchを使って,正方形・長方形を描くプログラムが3つ,p.41の中央部に横並びになっています.それを撮影して貼り付けても,よかったのですが,Scratch 3.0 GUIにアクセスして,同じプログラムを作ってみました.なお作成にあたり,画面左上の地球儀アイコン(言語選択)をクリックして「日本語」のすぐ下の「にほんご」を選び,左下の「かくちょうきのうをついか」より「ペン」を追加しました.ブラウザはFirefoxです.
横並びの3つの左にあるのは,「①順次処理」で,再現したプログラムは以下のとおりです.

中央は「②繰り返しを使った短いプログラム」で,以下のとおりです.

右にあるのは「③繰り返しを使った長方形のプログラム」で,以下のとおりです.

①と②はともに,一辺の長さが「150ほ」の正方形を描きます.③では,向かい合う辺の長さが「150ほ」と「90ほ」の長方形を描きます.①のプログラム内の数値を2箇所,変えるだけで,③と同じ長方形を描くことも可能です.
同じページの右下に,監修者がコメントを寄せています.

監修者から:短いプログラムにすることは、アルゴロジック*1の目的でもあり、一般的にもよいプログラムの条件の1つですが、それが全てではありません。例えば、トリッキーなブロックの組み合わせを行うことで、短くなったとしても、読みにくく、分かりにくいプログラムになることもあります。このように、プログラムの正解は1つではないことも重要なポイントです。

「プログラムの正解は1つではない」を心に留めて,ぱらぱら読むと,さらに掘り下げられた文章を見つけました.6年生算数の授業のあと,「アベ先生の視点」(p.116)の第2段落です.

一方、今回の授業で取り上げたデバッグもプログラミングを行う上で、とても重要な考え方です。今回は、実際のコンピュータ上でデバッグを経験したことに価値があります。プログラムには唯一の正解がないと言われますが、これは正解がないという意味ではありません。正しい結果にならなければ、それは間違いです。正しい結果が求まった先に、それぞれの複数の解法の違い(高速であるとか、分かりやすいとか)を考えることが深い学びにつながります。そこで、条件を変えて何度でも即座に試せるコンピュータを使う意味があります。コンピュータを使わないアンプラグドでは、人手で確認することになるので、正誤の検証が難しく、試行錯誤の回数も増やしにくくなります。

この本は,授業の実施にせよ,先生と監修者らとのやりとりにせよ,周到にまとめられた内容となっています.「今までは答えが間違っていたら、あきらめていたような児童がプログラミングを通じて、より深く考え、試行錯誤しようとしている姿が見られた」(p.43)といった,プログラミング教育の意義・効果が強調された書き方となる---露骨に否定的な文章は載らない---点にも注意しないといけません.
ともあれ事例集として,また小学校のプログラミング教育でどんなことが期待されているかを把握するのに,良い本だと思います.子どもたちがプログラミング教育を通じて学び,先生も大人も,子どもたちを見ながら学ぶので,いいのではないでしょうか.

*1:正方形・長方形の描画プログラムは,アルゴロジックではなくScratchを使用しています.このことに関して,p.37より読める単元計画では,全14時限のうち7時が「アルゴロジックを体験しよう。」,8時が「Scratchの使い方を知ろう。」,そして9時が本時で「正方形をつくり、特徴を調べよう。」と構成されていました.