Scratch なぜ冗長的ではダメなのか?(文科省版の図形描画)





算数科(多角形描画)

単元に組み込んだプログラミング教育の例

正三角形を描く(文科省版)
●正三角形の定義は、正しく理解できているか。
 正三角形:三辺の長さと三つの角が等しく、その内角はすべて60度である。
 思考手順:180°から正三角形の1つの角を引くことで回す角度を求める。
この左図の方法(プログラム)でも正三角形を描くことができますが、ここが「思考する」ポイントになります。

これでいいのか?

同じブロックが何度も登場していて、冗長的なプログラムになっているので、用意されているブロックで、もっとスマートにできないか?
考えてみます。
なぜ、冗長的ではダメなのか?

このまま正三角形のみを1度だけ描画するのであれば、このままでも問題ありません。しかし、この正三角形を描く仕組みをパターン化して、他の図形を描いたり、何度も描いたりすることを考えた場合、値を変え、ブロックを増やし…となってしまいます。後で修正や拡張する可能性がある場合など、様々は要件を満たす必要があるなら、冗長的ではダメです。

「○歩動かす+○度回す」をワンセットとし、100件、1000件と増やしたとします。その後、100歩ではなく50歩に変更しなければならなくなった場合、同じ箇所を100、1000箇所をすべて修正する必要があります。プログラミング的思考では、仕組みを抽象化してパターン化します。また、修正を想定して冗長的にならないようにブロックを組んでいきます。

このように、ブロックを少なく組むことで、それだけ早く作成することができ、間違いを修正するのも発見が早くなります。それによって生まれる効果は、低学年なら「時間的価値」でいいかと思います。早く終わったら、その空いた時間で他のことができるという時間的価値が生まれます。高学年なら時間的価値に加え、「金銭的価値(コスト感覚)」を教えることで学習になるかと思います。

それではこちらを課題として、どのように修正すればいいか検討していきましょう。



▼Amazonおすすめ本
  

 

 

▼続きはこちら

おすすめ記事