Scratchを使って児童が家から学校に行くまでの道順をプログラミングする、先生のための「プログラミングお試しツール」では、3つの通学路のプログラミングを通して「プログラミング的思考」の「順次」「繰り返し」「条件分岐」の3つの概念が体験できるようになっていました。

ご利用いただいた先生からのご要望に応えて、このたび、子ども向けにスモールステップで学べる、子どものための「プログラミング ステップゼロ」を用意しました。大人のためのお試しツールに6つの通学路を新たに追加して、全部で9つの通学路を考えられるようになっています。

下のリンクをクリックして、Scratchの画面を開き、ぜひお試しください。スマホの方はパソコンからご覧ください。
指導案や操作方法、児童用プリントを「プログラミングステップゼロ」のサイトにご用意いたしましたので、合わせてご覧ください。


「プログラミング ステップゼロ」

Scratchの新しい画面が開きます。全ての読み込みが終わるまでしばらくお待ちください。

順次

 

 

これらは、通学路1、2、3の画面です。

通学路1で、まず直進を学びます。「前にすすむ」の命令だけでプログラミングできます。命令回数に留意すれば、クリアできるでしょう。

通学路2では、突き当りや角に来た時に向きを変える命令として、「右にむく」「左にむく」を入れる練習をします。画面上で動いている女の子になったつもりで、右なのか左なのかが判断できるようにしましょう。

通学路3は、次の繰り返しへの橋渡しの問題です。「前にすすむ」「前にすすむ」「右にむく」・・・という順番のかたまりが、2回繰り返されていることに気づく児童がいれば、ほめてあげましょう。

 

縦にずらっと命令が並んでいると、どこが繰り返しの切れ目かわからない児童がいます。そのときには、繰り返しの最初がわかるようにブロックを切り離して、横に並べてみるとわかりやすくなるでしょう。

 

 

繰り返し

通学路4、5、6では、繰り返しを学びます。

通学路4を見てみましょう。通学路3で考えたように、まずは順次で道順を考えます。

かぎ型の道なので、角の個数を見て3回繰り返されているのではないかと予想する児童もいるでしょう。

上のように、5個の命令を3回繰り返すことでクリアできます。この命令では、繰り返し3回目の最後の「前にすすむ」でゴールしているのに、そのあとの「左にむく」という命令で、繰り返しの最初と同じ向きに戻る動きをします。繰り返し処理としては、これでも問題はありません。しかし、児童の中には、ゴールしているのにさらに動くのが気持ち悪いと思う子どももいるかもしれません。その場合は、どうすればいいか?と考えさせてみましょう。下図の、右側のように繰り返しのかたまりを前半2回と後半1回に分けることで解決できます。どちらの命令でも正解です。

通学路5と6の問題でも、どこの命令が繰り返しになっているのか?という観点で、道順を考えるようにしましょう。

条件分岐

通学路7、8、9では、条件分岐を学びます。

通学路7を見てみましょう。

郵便ポストが立っています。これまでと同じように、下図の左のように命令することもできます。しかし、別の方法として、「ずっと」という繰り返しブロックを使って、郵便ポストを利用した条件分岐で命令することもできます。このとき、基本の動きは、「ずっと」「前にすすむ」です 。でも、「もし郵便ポストに触れたら、右にむく」「学校に触れたら、止まる」という2つの条件文を入れることで、動きを制御できるのです。

 

通学路8と9も「条件分岐」を使って、道順をプログラミングしてみましょう。いろいろな建物が出てきますよ。

 

まとめ

「プログラミング的思考」とは、簡単に言うと、コンピュータやプログラミングの概念にもとづいた問題解決型の思考です。例えば、コンピュータで処理する対象を細かくして実行しやすくしたり、それらの処理を実行するために繰り返しや条件分岐を用いたりします。

このお試しツールでも、「家から学校までの道順を見つける」という問題に対して、家(始点)と学校(終点)の位置、道の形状、目印となる建物の有無、使える命令の種類などを整理して、道順をどのように示せばいいのか、細かい単位に分解して考えています。

命令の方法も1通りではなく、より簡潔にわかりやすくするにはどうすればいいのか、という観点から、順次の命令を見直して、繰り返しで命令した方がわかりやすいことに気づけば、繰り返し処理を使うように意識させています。最後の条件分岐による命令も同様です。建物の位置を基準に条件を与えることで、よりわかりやすい命令(指示)になることがわかるでしょう。

これらの思考を、例えば、学習計画、料理の手順、楽器演奏や運動する能力を向上するための練習計画づくりなどにも応用させてみましょう。これまでの方法より、より効率的でわかりやすい方法に改善することができるでしょう。