Is Substack one of those places where it is best to have a niche and stick to it? I might have trouble then. Right now most of my posts will probably be about history and politics, but every once in a while I want to throw in something different. Today, I feel like a trip down memory lane looking at how I used to teach math and computer science in minecraft to groups of homeschoolers. Some of this post will be technical, but at the end I’ll discuss changes I saw on the online platform Outschool where I was doing some of these classes.
My Minecraft Math classes had a maximum of ten students, and we would work together on a Minecraft server. I did activities involving using the coordinate system to copy-paste things. I did activities encouraging the students to practice multiplying by using the teleport command to go seven blocks ahead. I read up about Euler’s paths and graph theory, creating maps with bridges and encouraging students to explore things that way.
Planning for my first class, I thought about how the Minecraft character is two blocks tall. One can easily stack two blocks, but after that one sort of has to fly or build ladders. So, it occurred to me that a Mindcraft character should count with a base two or base three number system. (They don’t have ten fingers, after all!) So, I worked on teaching students how to use different number systems. I showed them how the numbers for the Minecraft items (back when the items were listed as times) were in hexadecimal. I taught them how to make little combination locks where you had to enter a binary number to open a door.
In Minecraft redstone is like electrical circuits. Strips of redstone are like wires that can be either on or off. They can be turned off and on by levers or buttons or torches. Using torches and certain patterns, one can create logic gates - AND, OR, NOR, etc. Using the logic gates, one can start to create binary adding machines. The following is a picture of the first binary adding machine a group of my students built.
Our first binary adders were huge and blocky. Well, I guess everything in Minecraft is blocky, but they were extra huge. We learned to condense them.
Eventually I started teaching the students how to build machines that convert binary numbers into decimal coded binary numbers and then into decimal numbers. This is by applying the double-dabble algorithm, which we did by creating long double-dabble machines. The following is one of the pictures I did of one of these machines together with the chart showing what is happening. Basically the binary number is being shifted over (doubled) and then when when in the ones, tens or hundreds places a number is over five, it is “dabbled” which means three is added to it. We build basic little components and then copy-paste them into place. The black squares in the chart represent what takes place in the black squares on the machine.
Knowing how to made a binary adder and a machine that converts binary numbers to decimal, I wanted to start building larger calculators.
The first step was learning how to store numbers. I built a memory chip that stored three bits of information in each of its four addresses.
Of course the chip was too large to be practical. If my machine is big, then part of it might not be visible, or worse, loaded. Since I was building these on a Minecraft server where students also built farms and auto-farming machines and such I had to keep the server loading area relatively small, which meant I had to keep the size of my machines in mind. So one of my sons showed me how to condense the whole chip into a much smaller area.
Once I could store numbers, I wanted to put them to work. Could I put one number in storage place A, and another number in storage place B, and then have the machine add and put the result in storage place C? That is what this next machine did.
How do you work the machine? I built this six years ago and haven’t looked at it for four, so my memory is a little flaky… however…. from my notes, I can say Location 6 is where the working memory is. I used rainbow colors to keep track of the different place value of each row. There’s a control panel at location 1 which determines what numbers are sent to the working memory - it can be numbers the player inputs using the row of levers at location 1 or it can be the results of one of the other parts of the machine. Locations 2 - 5 are places where inputs can be received from other parts of the machine and fed back into the working memory.
The long blue rows at location 8 control what happens to the number in the working memory.
Location 7 allows a number to be doubled. Location 12 is the binary adder. Location 11 allowed multiplication.
I don’t have a picture of this with the double dabble machine and decimal number display, but I did eventually add those. By the time I did that, I started to run into problems with the size of the machine.
My boys were incredibly helpful, finding solutions to problems I was coming up with and teaching me how to condense different logic gates into tight spaces. My oldest is now taking computer science at college and my youngest thanked me yesterday for giving him the tools that have led to his highschool computer tech classes being very easy.
I branched out for a bit teaching other things in Minecraft. I did some Shakespeare classes, where students acted out Shakespeare scenes. I did geography classes where students flew over a giant map of the earth and built landmarks. I tried a few other things. Grammar classes went surprisingly well, with students interacting with specially made non-player-characters as well as playing grammar games and modeling sentences with different types of blocks. I had fun with it.
Unfortunately, my era of running Minecraft classes came to an end a few years ago. There were multiple reasons for this. One of them was the changes within Minecraft. Once Microsoft built Minecraft they started doing updates too frequently. I needed to have special plugins on my server, some of which were needed for controlling unruly students and rolling back changes when someone accidently vandalized someone’s project. The plugins would break every time Minecraft would update, and it was a constant struggle to keep everything going. (Yes, I could have just forced the students to stick to an older version of Minecraft, but there were other challenges with that.)
The other issue is that the last few years of running Minecraft classes I was doing them on an internet platform called Outschool. Outschool is like Airbnb but for online classes. Teachers offer classes. Students can sign up. When it started, it was focused largely on homeschoolers though it always worked with charter schools in the states to allow charter school funding to help pay for classes. Over time, Outschool changed its priorities to focus on full time teachers and to try to be an alternative to public schools. I didn’t like that at all. As a part-time teacher, my classes were no longer advertised and were ranked very low on the search feature, and I didn’t like the idea of being part of something that was taking away money from public schools. On that issue I comforted myself that at least I was still teaching side things, such as would be taught in afterschool activities, and I wasn’t trying to replace teachers doing core curriculum work.
Outschool also started getting stricter with new rules, including that students could not be on off-platform locations like Minecraft servers outside of class time. So, no more asking students to work on their adding machines outside of class time. No more letting them build their own homes or play and build community. I could understand Outschool not wanting children interacting with each other or with teachers outside of the class time where a zoom recording would allow Outschool to review the interactions. There’s liability issues.
On the other hand, I loved building the community. Oh, I devoted hours to playing on the server with other people’s children (including my own!). There were problems. There was the time when one student refused to abide by the rule that they couldn’t raid other people’s homes in the survival map, and I ended up using the plugins to make it so for two weeks his only access to that map was as a spectator. He threatened a bad review and I said go right ahead, my rules stay. His mom emailed me later to thank me for how I handled that! I had other times when students accidently destroyed someone else’s creation and for whatever reason we couldn’t do a proper rollback, so I would come on and help the student(s) rebuild and watch them leave an apology note to the others and some extra resources as compensation. There were times when I offered coaching on common social problems, teaching kids how to deal with others who “wanted to help” when they didn’t want help and such.
There were times I messed up big-time. There was one semester where I failed miserably to keep the students actively involved - some were too advanced and others finding it too hard and I just messed up that semester. There was another class where I didn’t handle two students fighting quick enough and I ended up having a different student withdraw. There was one time I over-reacted to a student who I felt was bullying my daughter. I still feel guilty about those incidents.
But over all…. oh, I loved that time. After I stopped teaching on Minecraft Outschool I closed my server for a bit and then re-opened it during Covid as a virtual playground. I had sessions where we just played or built together. For May the Forth (Star Wars Day) my “students” (not really students by then since I wasn’t doing classes) made Star Wars themed videos. At one point we made a video with scenes from Macbeth. I had one student who built a huge minigame map for us. All my students were amazing, but I want to do a special shout-out to that one for the minigame map. But, the constant need to update Minecraft, the guilt over the times I didn’t handle things as well as I could, and my own children losing interest meant I moved on.
After my Minecraft classes ended, I moved on to teaching online secular Bible studies classes…. but that is a topic for another time!
I miss the server
It was another great thing ruined by companies like Microsoft and Outschool prioritizing the Spectacle over community.