This week i’m going to kick off a new video series aimed at introducing children, teenagers, and potentially adults to the world of programming. Rather than producing episodes, I’ll be live streaming the sessions so that viewers can interact and ask questions. The sessions will evolve organically based on questions that are asked. Once we get through the introductory material, the series will evolve into the creation of an addon, and potentially evolve into mods for other games and game development using Unity or the Unreal engine.
Episodes will be streamed live Friday’s at 2pm EST beginning 4/24/2020.
The live stream and archive of past sessions will be available here: https://erik.dev/minecraft.
Additionally you can subscribe and watch the sessions directly on Twitch, YouTube, or Mixer, where you can also ask questions through live chat.
Importance of learning to program
Programming is such an incredible skill for anyone, at any age to learn. It teaches you a variety of skills:
- Critical thinking and problem solving skills - How do you take a larger problem and break it up into smaller pieces?
- Creativity - It is an amazing feeling to dream something up and bring it to life. Creating something out of nothing.
- Curiosity - Disovering how everything works that we rely on daily is so much fun. Once you develop enough knowledge, you’ll be able to look at a new piece of technology and reason about how it works and even reproduce it on your own.
Programming is for everyone
Programming is much more approachable than most people believe. There seems to be a false perception outside the tech industry that you must be incredibly intelligent to be able to learn to program. I’m not sure where this comes from. While there are some incredibily intelligent and talented people in the industry on the cutting edge inventing revolutionary technologies, that’s like looking at an MLB pitcher and saying that you’ll never be that good so you shouldn’t learn to play baseball at all.
Additionally, it isn’t typing 1’s and 0’s all day, nor is it a substantial amount of math. If you can do basic arithmetic you can program. Most programming jobs don’t need more than algebra. You don’t need to be a genius or spend years in college before you can start. In fact, many people in the field started to learn completely on their own as teenagers. Myself included. I started to learn to program at 14 and have had a very successful career without any formal training. These days it’s even easier. There are so many free online courses, online communities, tools, and even programming languages specifically designed for children that allow programming to be introduced to children as young as elementary school.
Why Minecraft?
Why am I using Minecraft for teaching programming? Minecraft is full of creativity already. Users are already inventing all kinds of contraptions to automatically farm, etc. The thought process to create these types of things is the same mindset a programmer goes through when solving problems.
Minecraft’s addon API allows us to make small updates to text files and quickly see results within the game. This allows us to create new items, recipes, entities, or change the behaviour of existing ones. All without having to learn a bunch of programming concepts. It allows for immediate results, but is versatile enough to move into writing code to introduce new behaviours. The addon API is also written in a language (Javascript) that is quite popular. There are many other resources for further learning outside this series as well as tutorials to build other types of applications using the same language.
Setup
To save time there are a few things you can do to get you or your child setup to follow along.
- Install the Visual Studio Code editor. This is going to be used to edit code https://code.visualstudio.com/Download
- If you plan to test the addons on a Windows computer you’ll need to install the Windows 10 version of Minecraft https://www.minecraft.net/en-us/store/minecraft-windows10.
Currently Mac and Linux only support the Java version of the game. You won’t be able to test the addons we will be building. However, you will be able to use the addons on mobile platforms. The Bedrock edition of the game was chosen based on addon availability on mobile devices and the approachability of building addons.
If you are running the Java edition (Mac, Linux, or you’ve specifically chosen it for Windows) there are a couple great books available:
- https://www.amazon.com/Learn-Program-Minecraft-Transform-Python-ebook/dp/B019HRIX2I/
- https://www.amazon.com/Coding-Minecraft-Taller-Faster-Automate-ebook/dp/B072SSBM86/
You can still follow along with the series. You’ll be able to use the addons on mobile devices and will still learn programming concepts. We’ll also move into creating mods for other games and creating our own games using game engines.