見出し画像

那須町独自教科「NAiSUタイム」小学生が教育版マインクラフトで”100mサイズ巨大立方体建築"をプログラミングして算数の学びを深める授業をサポートした話

算数x教育版マインクラフト

小学校5年生算数の時間で「立方体」について学び、その学びを深めるために100mサイズの巨大立方体を建築する際に教育版マインクラフトを活用した実践事例を紹介する。

関連記事

那須町独自教科「NAiSUタイム」の別の実践事例は以下の記事を参照して欲しい。

過去の実践

実はこの実践事例は初めてではない。過去に那須町立田代友愛小学校の6年生で実施済みの事例である。平成31年の那須町広報にて紹介されているので参照してみて欲しい。

プログラミング教育が導入されることが決まり、そのための事前準備を進める中で実践されたものを実施しているだけなので新規事例というわけではない。

ただ、数年の時間が経過し、教育版マインクラフトの方に制約が増えるなどしたため、この度ブラッシュアップすることになったのでその内容を紹介する。

教育版マインクラフトについて

もはやテンプレの言い回しになるが、教育版マインクラフトでは様々なテーマや分野に関するワールドテンプレートが用意されており、児童が自由に探索したり、創造したり、協力したりすることができるのが特徴の学習プラットフォームである。

内蔵されているコードビルダーを活用することで建築の効率化や自動化のしくみを児童・生徒が構築できるのも特徴だ。

今回は算数で学んだ立方体についてその性質を考えながらプログラミングで建築を行うという取り組みを行った。巨大な立方体をプログラミングで建築するため、スーパーフラットと呼ばれるまっ平らな草原ワールドでの実践となる。

元々こちらの小学校では、プレゼンフェスティバルin那須のプレゼンでマイクラをテーマとした児童が優秀賞を受賞するなどしており、マインクラフトの認知度が非常に高い(那須町公式YouTubeチャンネルでプレゼン動画が公開されているので参照して欲しい)。

プログラミングの取り組みについて

MakeCodeプログラミングとは、ブロックやテキストでプログラミングができるツールで教育版マインクラフトに内蔵されている。MakeCodeプログラミングでは、チュートリアルが準備されているのでプログラミングの基本的な概念や思考法を楽しく学ぶことができる。

今回取り組んだ5年生はMakeCodeプログラミングのチュートリアルを冬休み中に取り組む時間は無かったものの、全員がScratchなどのプログラミングを経験済みで、自主的に触れている児童もいたので分からないところは教え合うことで進める方向となった。

とはいえ、基本的なことだけはしっかり押さえておく必要があるので高久小の事例と同様のポイントについては徹底するようにした。

データ保全の大切さを伝える

マインクラフトのワールドデータやMakeCodeプログラムのバックアップもLMSにバックアップを取り、データ保全には万全を期した。データ消失は大人であってもツライで経験だが、児童が思い入れのあるマイクラ建築を失うことはもっとツライ経験となるので一番最初に方法を伝え、児童の当たり前になるように配慮した。

マインクラフトの制約とは

過去の実践時には無かったマインクラフトの制約とは

  • ブロック設置時の範囲制限

である。

マインクラフトではfillコマンドによるブロック設置には「数」の制限がある。

ブロック設置数の制限

この制限を超える数のブロックを一括で置くことはできない。
そして、もう1つの制約がブロックを設置することができる範囲の制約だ。

ティッキングエリアの制限

ブロック設置数の制約はほとんどのプラットフォームで共通であるのに対し、このティッキングエリアの制約はプラットフォーム毎に異なっているため、ワールド設定のシミュレーション距離を広げて対応する、という方法では対応しきれないという側面がある。

特に、学校で使っている端末のスペックによる制約で最大値が制限されていることが明白なのだ。

そうしたプラットフォーム毎の制約を回避しつつ、確実に実行できる環境を作るにはマインクラフトのコマンドの力を借りなければならないのが悩ましいところだ。

今回は、そうした課題を解決する部分は本質ではなかったため、上記問題を解決するための関数を定義して配布することで、本題の方に集中してもらうことで対応を行った。

ブロック設置範囲拡張関数

ティッキングエリア設定を行うブロック設置範囲拡張関数はMakeCodeの共有URLによる方法で配布している。このURLを教育版マインクラフトのコードビルダーのホーム画面にある読み込みボタンでURLから読み込むに貼り付けてもらえれば取得できる。必要最小限度のコードしか入っていないので注意して欲しい。

この関数がやっていることは、指定した座標範囲をティッキングエリアとして追加する関数と、その追加したティッキングエリアを削除する関数で構成している。

注意点としては既存のワールドでティッキングエリアをいくつか追加しているワールドでは使用しないようにして欲しい。削除関数の方はすべてのティッキングエリアを削除するように実装しているためだ。万一、消してしまっても責任は負えないので注意して欲しい。

関数の使い方

上記のURLの中には以下のようなコードが含まれている。これをテンプレートとして使って欲しい。

テンプレコード

範囲拡張関数とその解除関数でブロック設置命令を挟むように使って欲しい。

1辺100mの正方形

GIGA端末のiPadを使用している学校では第6・7世代が多いかもしれない。この端末で以下のコードを実行してみて欲しい。

動作しないコード

このコードは動作しないと思う。最大ブロック設置数は下回っているものの、ティッキングエリアの制限に引っかかっているのである。

これを先程の関数で挟んで作ったものが以下のコードだ。

動作するコード

これを実行するとダイアモンドブロックで1辺が100mの正方形が作られるはずだ。

1辺が100mの正方形

これを縦方向に積み上げていけば立方体になるのだが、一度には置けないのは最大ブロック設置数制限があるからだというのはすでに触れている。
では、どのようにプログラミングすれば良いのかを考えてもらう、というところがポイントになるだろう。

同じブロックを100個つなげていく方法も間違いではないが、それは現実的だろうか。それを考えるきっかけにもなる。

ループと変数

短いシンプルなコードで巨大立方体を建築するところまでを他の短いコードを寄り道させて、ループや変数の特性を学び、最終的なプログラムの理解につなげる。

ループカテゴリにある命令と実現したいことをじっくりと考えどう組み込んでいくかを検討する。答えは1つではないのでグループで実現方法を検討してもらうといった手法が良いのではないかと考える。

ループカテゴリの命令を選択

終わりに

試行錯誤を経てマインクラフトのワールドに以下のような光景が出来上がれば完成である。
なお、砂ブロックは絶対に使わないで欲しい。GIGA端末のiPadは負荷に耐えられずに教育版マインクラフトが落ちてしまうからだ。


巨大立方体の完成

現実世界の学校に1辺が100mの立方体を作るのは不可能だ。だが、マインクラフトのワールドの中であれば、何度でも作り、破壊し、やり直すことが可能だ。そういう意味でとても試行錯誤がしやすい環境だと言える。

高久小学校の事例でも触れたことだが、現実世界では実現しにくいことでも表現することができるこのワールドを活用して絵筆や楽器などの表現ツールに加えて、新たな表現ツールとして活用することで表現の幅が広がるのではないだろうか。

学校で学んだ知識を実際に使ってみる場としてマインクラフトワールドのようなフィールドは、GIGA端末というすべての日本の子どもたちが手にした文房具によってすぐに活かすことができる環境である。

すぐにでも使える環境がある自治体・学校はぜひ試してみて欲しい。

教育版マインクラフトの授業活用に興味がわいたら、授業・校務活用素材ポータルを参照してみて欲しい。こちらには教育版マインクラフトで授業実践した事例などが紹介されている。

この記事が気に入ったらサポートをしてみませんか?