The other day on Minecraft my children and I were exploring how to build tunnels quicker. One way of doing this is to use the fill command. Often using fill or clone we can look at the two opposite corners of the rectangular prism we are planning on filling or cloning, and record the coordinates. In building a tunnel we can only look at the coordinates of what will be the entrance to the tunnel, and then we have to imagine how far back we want the tunnel to go and figure out which coordinate we need to change (x, y or z) to make the tunnel. In the process we end up reviewing how to add and subtract with negative numbers. For example: if you start out at a location with a negative z coordinate, and then you want to fill an area stretching ten blocks north, you have to add -10 to your already negative z coordinate.
The other way to do auto-tunnels is to use relative coordinates, creating a command line that clears a specific amount of space in front of oneself but that can be repeated (using the slash and then up arrow to bring back the last command) over as you move forwards. The tunnel will only work in one direction. If you program it to go south (towards positive z) then in order to turn west (negative x) you need to make a quick change, but in the process of learning to make those changes a student has to become really comfortable with the coordinate system.
If you’re not familiar with Minecraft yourself, think of a paper version. Picture yourself as coordinates 0,0 in a graph on grid paper. Do not number the lines but rather the spaces, so 0,0 is a square not an intersection between two squares. Face -x. The block to your left would be (0, -1) The block to your right would be (0,1). Where would (4, -2) be relative to you? (Behind and to your left.) In practicing using the fill command a student learns to picture the rectangle she want to draw and where two opposing corners of it are relative to where she is.
With both fill and cloning I encourage children to use command blocks, so that if their results are not what they expected we can see what they did. I also encourage that before a child press the button to activate the command block he thinks about how many squares he will be filling. The way to do this is to figure out the differences between the first and second sets of coordinates, add one to each number and then multiply the numbers.
If we want to practice multiplication we can use relative coordinates and fill commands. If I use: /fill ~1 ~1 ~1 ~4 ~2 ~7 then the volume of the result will be multiplying the 4 * 2 * 7. By posing related questions I can encourage kids to think about how 4 * 2 * 7 = 8 * 7 = 4 * 14. I can encourage that when students are posed with a math question they can ask “is there an easier way to do this multiplication?” 16 * 4 can stump a child because he hasn’t memorized the times table past 10 * 10, but it can be easily converted to 8 * 2 * 4 and from that to the recognizable 8 * 8 = 64. We can also practice factoring numbers when posed with the question of how to set a fill command so that it will create y number of blocks.
Once a student can click a button to create stacks of blocks demonstrating multiplication questions, it seems natural to move onto exploring exponents. We can see numbers squared and cubed, but what about raised to the powers higher than three? We can still explore those though we cannot enter them into a command block without condensing it. How many ways can we enter 5 to the power of 5? It could be: /fill ~1 ~1 ~1 ~5 ~5 ~125 or /fill ~1 ~1 ~1 ~5 ~25 ~25 or /fill ~1 ~1 ~1 ~25 ~5 ~25. Now we can see how many permutations we can make. How many ways can those numbers be arranged?
Once a child understands exponents, why not move onto base systems other than ten? There is so much math possibility in Minecraft and the inspiration for kids to do the math is that they become capable of using the Minecraft commands to help them in their creative building.