小学校のプログラミング教育は始まっているみたいで、時々話題がネットで見られます。その中に、進め、左折、右折と画面上でクリックして行く、みたいなのがあって、私の世代だと、懐かしい言葉が思い浮かんで、それが、タートルグラフィックスです。
たしかロゴとかいう言語だったはずですが、うろ覚えです。目的は平面上に線画を描いて行くことで、何となくですけど、チューリングマシンみたいな仕掛けを用意すると、究極には万能マシンが出来上がりそうな気がします。
今風にするなら、データベースを用意して、生徒に個々のタートルをプログラムさせて、一斉に動かす、と。これで、関数(動作)、束縛変数(内部状態)、自由変数(データベース)の概念がなんとなくつかめると思います。説明は難しいでしょうけど、まずは体感。
これでも良いと私は思いますけど、これを紹介した人は違和感を訴えていました。私の意見では、普通はプログラミングと言えば、処理されるデータを用意して、加工して表示する。もっと具体的に言えば、物の大きさや色などの計測値を次々に入力して行き、合計や標準偏差を求めたり、検索したり、を想起するからでしょう。これと、上述のタートルグラフィックスはどう結びつくのか。
こんな風に説明すると、慣れている方には対応がなんとなく分かると思います。しかし、具体的にどう表現するのか、興味を持ってもらえるようにするには、どう説明するか、は結構、難しそうです。