This is the introduction to a series of articles introducing 10-year-olds to programming with the goal of making a simple Minecraft mod.
Over the winter, my stepson had a sleepover with one of his friends who is as much into the game as he is. They were discussing many of the ideas they had for mods and after a quick conversation I learned that neither they, nor their classmates, had any idea how to go about actually implementing them.
Personally I have never really understood the allure of the game, but after talking with my wife Lisa this seemed like a golden opportunity to perhaps spark an interest in programming with modding Minecraft as the medium. And so the idea of having a "Minecraft camp" to teach some computer fundamentals and programming was born!
Given that the summer camp we’ve planned is four days, includes playtime / meals, and is supposed to be fun, I’m skimming through some topics to get to the “fun stuff” as quickly as possible. At the same time, I’ve noticed that although children are quite comfortable playing computer games, there can often be a huge knowledge gap between their understanding and what’s really going on behind the scene.
So while this is certainly not meant to be a comprehensive guide for teaching Grade 5 students about computers, it will be a wide and shallow introduction to computers, the internet, and programming. Given the goal of creating a Minecraft mod, we are somewhat limited by language and environment: we have to use Java and the modding community has made it easiest to work in Eclipse (plus it’s free).
Let’s get started!
July 31: As I've gotten a better understanding of what we can accomplish in four days given the current state of modding in Minecraft 1.6, I've re-structured the lessons accordingly. As it turns out, you don't need to learn some of the "basics" like loops and arrays to do a bunch of cool stuff :)
I believe that with a passing understanding of Java, anyone can help a 10-year-old create the basic mods in part three by going through the information covered in parts one and two. These are not meant to be a complete self-study guide, but rather topics that should be grasped before attempting to create crafting recipes, items, armor, blocks, or items/textures.
My current end goal is to flesh out these lessons with an appendix; curious students can work through these while tackling slightly more complicated mods.
August 10: With the addition of the Appendix (loops, conditional statements, networking / internet, etc) I think this could be a great starter course for ~12 year olds who are keen to start programming. I will most likely continue with those posts eventually but there's no current need for them and I need to get back to writing about topics that businesses can benefit from :)
- Lesson 1 - So what's a computer?
- Lesson 2 - Files
- Lesson 3 - Text Files
- Lesson 4 - Image Files
- Lesson 5 - Audio and Archive Files
- Lesson 6 - Fundamentals, Part One
- Lesson 7 - Primitive Types and Expressions
- Lesson 8 - Classes and Objects, Part One
- Lesson 9 - Classes and Objects, Part Two
- Lesson 10 - Minecraft Forge Setup
- Lesson 11 - Mod: Something for Nothing
- Lesson 12 - Sharing Your Mod
- Lesson 13 - Mod: Chainsaw
- Lesson 14 - Mod: Moustache Helmet and Superspeed Boots