次の指導要領からプログラミングが小学校に入ってきそうです。
b7530-2そのプログラミングですが,基本は,いきなりプログラムを書くのではなく,「フローチャート」と言うのを作ります。

例えば,タクシーに乗るときの様子です。
まず,道路に立ちます。
次に,通りゆく車を見ます。
タクシーは屋根に提灯が付いているので,提灯の付いている車を見たら,手を挙げます。
付いてなかったら,別の車を見ます。
運良く,提灯付きの車が止まったら,乗車します。

こんなことをフローチャートにすると,お粗末ですが,図のような感じになります。

「タクシーを拾う」というこれだけのことでも,フローチャートを書こうとすると,頭は分析や整理といった論理的思考を促されます。
これだけでも,教育的な価値は高いです。

また,フローチャートがしっかりできれば,チームでプログラミングをするときには非常に役立ちます。キチンとした説明文は,誰が読んでも誤読しないように書かれています。取扱説明書などはその最たる物です。フローチャートには書き方のルールがあるので,誤読が少なくなり,共有して効率的に作業ができるわけです。

こうして,フローチャートを書いたら,パソコンに向かい,必要な絵を描き,プログラムを書いていきます。すると,それなりのソフトができあがります。

ところが,私が算数ソフトを作るときは,フローチャートを書きません。
チームプレーをしていないからです。
頭で考えたら,すぐにプログラムを書きます。
フローチャートが筆算なら,私は暗算派なのかもしれません。

そんなこともあって,先日のチーム算数に提出された佐々木先生のレポートを読んで,びっくりしました。
「フローチャートをかいた経験のある人から見ると,このソフトはありえない作りをしている。」
算数ソフトは,フローチャート的な発想で作られていないと言うことなのだと思います。
それが正しい指摘をしているかどうかは,私にはわかりかねますが,かなり良いところを突いていると思っています。

算数ソフトは,使い方が一方通行的にならないように,あれこれ自由に使えるように作っています。
これは,プログラムを作る2つのタイプのどちらを選ぶかに関わっています。
A。タイムラインに乗って右へ右へとどんどん進めて作る。
B。タイムラインの一ヵ所にとどまって,作りたい物を下へ下へとどんどん入れてつくる。

Aの右へ右へと時間軸を伸ばすと,一方通行的な作りになります。初心者にも簡単に扱えますが,応用が利きにくいのです。
Bの下へ下へと伸ばす方は,自由自在的な作りになります。しかし,作り方を理解するのが大変です。でも,慣れると驚くほどの応用が利きます。

私が選んだ道は,B,下へ下へと伸ばす作り方です。応用が利くので面白いです。

小学校で教えるプログラム,いったいどうなるのでしょう。
大いに議論をして良い形で現場におろして欲しいですね。