前回記事につづき、マイクラです。
その後、放っておいたら、小2はどの程度までマイクラプログラミングで遊ぶのか、様子をみました。
結論、小2は放っておいても、プログラミングの本質にせまるところまで自走する、ことがわかりました。
↑こちらは、前回、一緒にやってあげて、子どもが作った階段です。
agentを一歩動かしては、1個ブロックを置く、そのループ処理
これによって階段ができることを教えました。
その後、放っておくと、こんなのを作ってました。
階段プログラムを、何カ所かいじって、線路に。
チェストやグローストーンの存在意義は不明??
私も遊ばせてもらいましたが、車窓の眺めが気持ち良かったです。
途中、村があり、ここは階段プログラムをそのまま使って、
村の駅までの勾配を作ってました。
プログラミングとは別に、息子はレッドストーン回路オタクで、
まいぜんの動画を見て研究しています。
私は回路はわからないのですが、電車が線路上を走ると、連動してチェストが動いたり、
矢が飛んだりしてました。
マイクラのプログラミングの一つの特徴、と感じたのが、
プログラムの進行の堅牢性が高い、というのがあります。
agentにブロックを順次置かせるようなプログラムで、
置こうとしたところに他のブロックがあって置けない、というような場合は、
そこで「バグ」としてプログラムが停止するのが通常ですが、
マイクラのagentは、そこは置かないものとして、引き続き作業を進めていく、
という性質があります。
なので、多少、条件分岐(場合分け)が甘くても、バグで止まることなく、
一応は仕事が進んでいく傾向があります。
これは、デバッグがまだ出来ない子ども達にとっては、とても大事なポイントだと思います。
もう一点、マイクラEducationの特徴として、
「agent」の活用
ブロックを置く際の座標ですが、絶対座標ではなく、プレーヤーから見た座標でもなく、
「agent」を基点とした相対座標を使います。
それによって、実に様々な空間デザインをとれるようになります。
代表は、先の階段。
絶対座標を使うなら、Y=aXの関数を使って(X,Y)を指定していきますが、
子どもはまだ関数の概念がありません。
その点、agentが一歩ずつ動くというのは直感的にとらえやすく、
(前に一歩→上に一歩→置く)× 10回繰り返し
これなら、関数を習っていない子どもでも理解できる、ということです。
しかも、素晴らしいと感じるのは、
「前に一歩」と「上に一歩」がセットになって「階段」が作られる、という感覚、これは即ち、
「X に+1」と「Yに+1」がセットになって「関数」(Y=1 * X)が作られている、という感覚、に通じる、ということです。
つまり、数学のひとつの重要な土台(数と数が一定のルールによって対応づけられる、という、関数の感覚)を、「原体験」のようにして身につける、ということが起きているように感じます。






