Want to set the next generation up for a future in code? Want to show them that coding can be fun!
Here are 5 projects you can do in an hour, or a weekend over the holidays. They are suitable for young kids up to teens.
My kids are 7 and 3, I would not sit down with my 3 year old and attempt any of these. There are some great games for younger ages to teach them the logic of computers, like Kodable for iPad.
If everytime you say “close the curly bracket” your kid has to spend 5 minutes scanning the keyboard and attempting to hold the shift key, they will get frustrated quickly.
So the age really comes down to the following factors:
- Their skills with a mouse and keyboard
- Basic arithmetic
- Their patience to sit still on one task
Tools of the trade
If your kids were lucky enough to get a box of Lego this holiday. Did you notice how quickly they’re able to open the box and start playing? No looking through drawers for some spare D-cell batteries, no fumbling for tiny screwdrivers. The kids are in control.
You can easily lose their attention if before they can start being creative, they have to install software, hit issues and constantly ask you for help.
All of the project’s I’ve listed here have minimal setup and don’t require expensive hardware.
1. Minecraft voyage aquatic challenges (Blockly)
Microsoft have partnered with code.org to create a series of challenges and tutorials based on a 2D version of Minecraft. If your kids are into Minecraft, this could be a great way to get them to explain to you what the characters are and share their enthusiasm for the 3D world.
These tutorials are based on the code.org studio, which is a “blockly” drag-and-drop logic block environment. It does work on a tablet, so this is great for ages 5+.
Something I love about these challenges, is that they’ve made facilitator guides for different age groups and different languages. If your kids aren’t native English speakers.
The studio environment in these tutorials is constrained to make it easy, but once the kids are familiar with these block-based programming tools, they ready for Scratch.
2. Al Sweigart’s Scratch Programming Playground
Al Sweigart is a popular author of programming books for beginners. He’s written a book, which is also available online with a set of games to build in Scratch. Al has also recorded many of these tutorials on YouTube.
Being able to follow simple instructions is a fantastic skill, but if the kid is new to Scratch, they’re going to need your help. It would be useful to get up to speed on it before going through these exercises.
Once they’ve built the game, you can discuss what each of the logic blocks do and experiment with changing some of the parameters of the game.
Many schools use Scratch but with 20–30 kids in a lesson and a teacher who often doesn’t know Scratch well, it’s an opportunity for you to give some 1:1 tuition.
Perfect for creative kids, show them how they can bring their drawings to life using the same technology that dates back to the Nintendo-era of the 80’s and 90’s.
Spritely has one of the simplest APIs, you can create a series of images using any drawing apps, or by drawing on paper and scanning the pictures.
If you want to grab their attention, see how you can animate fun and interesting characters, like this NyanCat.
This requires minimal coding and zero-setup. You can get started with any decent browser and create an account on codepen.io.
I like this project because setup is minimal and it can scale to more complex use-cases.
Try and come up with an idea that is relevant to the kids’ interests and hobbies. Discuss the character of the bot, give it a name, draw an avatar and keep it fun. How about:
- A bot that tells jokes?
- A bot that talks to you about their favourite sport?
BotKit.io, have a free online studio for designing bots using a blockly-style interface.
Microsoft also have a bot framework and studio for more commercial applications.
5. Hack a game with Unity (C#)
Unity is a framework and game engine with an ecosystem of free and paid assets, like characters, music and even entire 3D or 2D worlds.
The skills learnt in C# are very relevant and portable to Java. If your kid wants a career in the lucrative world of Enterprise Software Development, this could be the project for them!
In all seriousness, there are some great starter packs for Unity, which is one of the leading game engines and ecosystems.
To sit down and write a game from scratch is a serious project for even the most seasoned developer. It requires a decent understanding of maths, physics and object-oriented programming.
Unity have a collection of demo games on the website available for free https://unity3d.com/learn/resources/downloads
Why not try hacking them, change the physics and see how the game responds? Can you add new game rules and concepts? Can you add your own characters?
The skills learnt in this exercise are very relevant to any career in software. If you want to learn a new language you can just start by reading other people’s source code, changing it to see what happens.