A Week of Minecraft Camp
I have not blogged in a very long time! A lot has happened in this exciting semester, including being honored as an Allen Distinguished Educator and getting to work with a phenomenal team to create resources to share with the public. I will write about that experience as well, but am moving in reverse-chronological order, starting with the most recent project. I teach classes at our district STEM institute every summer (find the website here: http://www.steminstitutes.org/) . I love teaching at the institute. I wish school could feel like this all year long. This year, I had the pleasure of teaching a Minecraft Explorations class during the morning and afternoon. It hit me about a week before the institute that I was getting paid to play Minecraft all day long – living the dream!!
At the beginning of this school year, I purchased licenses for MinecraftEDU and I love it. Unfortunately, as you can tell if you follow the link above, the old MinecraftEDU is now in transition. Microsoft is re-writing and re-releasing the educational version as Minecraft: Education Edition. I would love to use it, but it’s only going to be available on Windows 10 and my district’s IT department has been very clear that we are not moving to Windows 10 this year. I had JUST convinced a whole bunch of colleagues to purchase MinecraftEDU, and a couple of them had JUST gotten the funding approved, when we found out we could no longer purchase MinecraftEDU – and the new Minecraft: Education Edition is not an option for us at all because of our operating systems. It is extremely frustrating – I believe in this tool and think our kids will really benefit from using it in classrooms, and our progress as a district has been completely shut down.
I am still able to use the old MinecraftEDU, and I did. The kids loved it and I had a wonderful week. I decided early that the kids could make a creative map and design anything they wanted, on a safe school server – and that I would provide mini-lessons every day to add a little more to their Minecraft toolkits so they could build even better things at home. I provided them with flash drives that had all of the mods, maps and documents they would need.
Day 1: Beginning build and Redstone lesson.
After some getting-to-know you activities, I told students they could sit next to one or two people they would like to build with. We first installed mods on the computers: I installed Mr. Crayfish’s furniture mod, BiblioCraft, Custom NPC’s, ComputerCraftEDU, Malisis Doors, Carpenter’s Blocks, and the Key and Code Lock mod. I opened a creative server and had everyone spread out with groups far away from each other. I told them they could build a home and to pick a theme – a castle, a dungeon, a zoo, a specific animal, a treehouse – anything they wanted. The kids loved the mods and were thrilled with the furniture mod, which allowed them to have Minecraft blenders, refrigerators and sinks among other things. The Carpenter’s Blocks are really cool – they allow you to create angled, curved and sloping blocks with any texture you want. And the Malisis Doors mod allows you to create interesting doors and even custom doors with special animations, textures and combination locks. Fun!
We then saved and temporarily shut down the creative world, and I opened a redstone world map that I made. It’s located here:
This map takes students on a tour of redstone contraptions. I spent some time over the weekend watching video tutorials on more advanced uses of redstone. Did you know you can make logic gates with redstone? You can create a NOT gate, OR gate and of course an AND gate. I wouldn’t be surprised if someone, somewhere, has made a fully-working computer or arithmetic-logic unit using redstone.
In the map, students explore different redstone devices and activators, and also learn about logic gates, repeaters and comparators. I finished the map with a Kahoot! quiz and then opened the creative world again. Students were instructed to add their own redstone contraption to their home. Some of them were very complicated – I would never figure out how they worked!
Day 2: Custom NPC’s
Non-playable characters let you turn a map into an adventure or a quest. These characters can be configured to follow you, fight for you, trade with you and have dialogs. I gave a mini-lesson on how to create an NPC using a special wand, and then how to set up a dialog with multiple-choice answers. We also learned how to add quests to the NPC’s dialog. The non-playable character can be part of a storyline, leading you from adventure to adventure. I suggested that the next time students have a science project, a book report, or a time in history to write about, they could do the project as a Minecraft adventure! Wouldn’t that be a more fun way to learn about the Revolutionary War if you could interact with the main players and let them tell you about the events?
The lessons are summarized in these videos.
NPC dialogs and command blocks:
This video shows how to use quests:
To finish out the day, I gave the students command blocks using the command: /give @a command_block
I gave kids a very basic tutorial on using command blocks. You can set up the blocks with a command, and activate it with a lever, button, or other redstone connection. Some simple commands include:
Summon an entity: other entity names can be found online
Give the nearest player an item
/give @p cookie
Teleport the nearest player to the following x,y,z coordinates.
/tp @p 100 75 -200
I would not recommend giving command blocks to a large class and you really need to be cautious with them. They give great power! There is a connection with computer science here… each command is like a function, and the parameters follow the function name. Just as with any computer language, punctuation, spelling and capitalization are important.
We played a Kahoot quiz on custom NPC’s to finish out the day.
Day 3: ComputerCraftEDU
On this day, we introduced turtles! These are adorable Minecraft robots that you can program to mine, dig, chop, attack and build for you. The ComputerCraftEDU turtles use a graphical programming language that is fairly intuitive to learn, and maybe more importantly, super cute. I introduce the turtle coding with a little “hour of code” activity I developed for them.
The language looks like this. This program tells a turtle to dig, move forward, dig – then place a block, move backward, place another block.
The language has variables, loops and conditionals as well. We talked about how important it is to specify WHICH steps you want to repeat over and over again. I often introduce loops by having students write instructions for a “human” robot to do something such as walk down a line of kids and tap every kid on the head. The instructions might say something like this:
Start at the first kid
Tap on head
Go to the next kid
Repeat until no more kids
If I follow instructions like that, I may tap only the first kid on the head and then just walk to every other kid until I get to the end of the line. Or, I might repeat all of the instructions – start at the first kid. Tap on head. Go to the next kid. Start at the first kid. Tap on head. Go to the next kid. Our language needs a way to specify a beginning and end of what exactly is repeated.
The Turtle coding language has this. For a repeat loop, for example, the instructions to be repeated are bookended by “Do” and “End”.
The “Place” and “Move Backward” instructions are inside the Do and End blocks, so the turtle will place a block and then move backwards, and repeat those 2 instructions 8 times.
After we do some whole-class activities experimenting with the Turtles, the whole class discusses how you would write a useful program that the turtle could run that would help you in Minecraft. We talk about some activities you do in Minecraft that might be helpful to have a robot do for you: exploring at night, fighting some of those nighttime mobs, mining, chopping down trees, building a house, farming. We choose one of those examples – say “mining” and discuss what exactly you’re doing, step by step, when you mine. The kids usually start by describing how they dig a staircase into the ground. But we have to talk about special conditionals that pop up. What if you dig into gravel? What if you dig and find lava, or a cave? If you find iron, should you keep digging forward or do you dig in all directions to see if you’ve hit an iron vein? Once you’ve dug down a certain depth, how do you return back to the surface? Writing all of this down as a program becomes a challenging and interesting task.
I gave the kids a couple of example programs that do some complicated mining and tree-felling, and let the kids explore the pros and cons of them and try to make the programs better.
Of course,there is a ComputerCraftEDU Kahoot Quiz to finish things out. 🙂
Day 4: Modding
Kids were very interested in modding, but this is the most difficult concept to teach. What is a mod? Think of Minecraft as a box of plain legos. The analogy to a Minecraft mod is a specialized set of Legos… the Harry Potter kit, the pirate kit, the farm kit. A mod uses Java code to connect to Minecraft’s events and data structures, letting you create customized blocks and items and even mobs. Most kids have an idea for a mod they’d like to create. Most kids will not get there on their first mod, but they’re excited to start down that road.
I have an O’Reilly book about modding that uses Forge and Eclipse, and I was fairly successful at home at writing a simple mod and getting it to build. I ran into troubles when I tried using this on the school computers – installing the software, keeping the folders straight, and working around blocked websites was very painful. Then one of my students introduced me to MCreator. This is a very nice tool found here:
MCreator uses forms and menus to generate the Java code for mods. First we used the “Tools” menu to access the texture drawing tools, and kids drew their own texture for a block or item. Next we went to the Workspace and created a new block. The menus let you choose the block’s texture, its properties such as hardness and luminescence, and the events it responds to – what happens when you place it, right-click it, destroy it. The tool creates the code, and then you can click “Export” to create a .jar file, drop it in your mods folder and voila! The only catch to running this on a school computer was that the kids have some websites blocked (including minecraft.net) that make it so they can’t actually build the mods from school. I had the students give me their MCreator folders on a flash drive, and I built the mods and gave the flash drives back with the .jar file on it. They had a lot of fun seeing their mods come to life in a singleplayer world.
Day 5: Putting it all together
On this day, we made our houses presentation-ready and put together a poster board for the parents. We played some charades and made sure the map, mods and MCreator files were all on the students’ flash drives. For files created in MinecraftEDU, they could use the maps and mods at home if they used the right version of Forge. The version I found that worked is 10.13.2.1291. I gave kids instructions for copying the mods and the map for use at home:
We played survival, just for fun, for the last hour of class. Great fun and excitement to hunt, gather, and dodge zombies together for a while.
I feel when you’re teaching just a weeklong class, you have a tradeoff to make. I chose to focus on new tools and skills in the Minecraft world rather than creating a big project – we worked on a creative house build but the class was really composed of four mini-lessons and not one large product. I also think there’s a lot of value in having the students plan, execute and troubleshoot through a whole-class build with a theme. With the custom NPC’s, I’d love sometime to create a multi-player adventure map with quests and an educational purpose. Maybe that will be my focus of my Minecraft enrichment class next year!