Code Monkey Club
Well I am back for my second year of holding lunch session with kids at River West Park teaching coding. I learned quite a bit from my first year and I’ve changed the offering a little bit. In my first year. I created the exercises in MineCraft. This was both good and bad. Good as it immediately got kids engaged with the exercises, but bad because the kids were more focused on doing things in the game instead of learning about coding. I got a lot of feedback that the kids loved the sessions but the kids then wanted to learn how to build entire worlds in MineCraft and create videos on YouTube. Clearly, I needed to think about this a little differently.
The white knight for me were the excellent resources that are available for everyone on code.org. The exercises illustrate programming concepts and fundamentals and are available for everyone to use. They leverage existing games/themes like Flappy Bird, Star Wars, and MineCraft.
The best part is the interface that code.org has where the kids can drag and drop logic blocks and then see the results in playing the game immediately. The interface is ideal for getting kids excited and receiving positive feedback on their work. Even better, my kid’s school had already done some of the basic exercises so they knew the interface.
If you are interested, you can find the exercises at the following link
What I add
I’ve just had one session, but so far the content allows for the kids to learn more and be more engaged! I get to spend less time managing/troubleshooting exercises and more time assisting the kids with the exercises. Since the kids have already taken some of the basic exercises, I am also able to focus on the exercises that reinforce/introduce more advanced programming fundamentals. This allows me to add insight and details on what is really happening behind the scenes with the program.
So I think this is a great set of exercises, but we will see as we work through them. But so far, they are engaging the kids more, teaching them new concepts, and allowing me to add detail and insight were appropriate.
And I think we are still having fun!
I remember talking about it with friends. I didn’t want to teach kids to use Scratch. Scratch was ok, but I wanted to teach them how to code in Java. Even more, I wanted to teach them what it was to compile code and what a Compiler was. People thought that the content would not resonate with Grade 4’s. And that was the polite comment. 🙂
So here I was in the third Minecraft Code Club session but I dearly wanted to cover compilation. How to do best do it though?
What I did was start a discussion with the kids about how we read books, but computers read hex codes. I actually showed them some hex dumps. I know, I know – could be considered a punishment, but I kept it brief. In a few of those wonderful hex dumps, they had the additional column to the right that translates the hex codes into readable text to help the humans. Most of the kids got it that the two types of text could hold the same information.
And then drew the analogy that a Compiler was just a computer program that translates our code in words into the computers hex code. I know it is a vast oversimplification, but it resounded with most of them and I saw nodding heads. Feeling the opportunity, I then referred back to our first class where we talked about working with Minecraft Plugins was like giving a needle to the Minecraft program! Compiling a program is the action of giving that needle to the program. That is how we do it. Again a vast oversimplification, but probably appropriate for this level of knowledge.
I waited and watched – there still seemed to be acceptance of that could be right. Not wanting to push it any further we went on to the exercise of spawning an Enderdragon by modifying some code and compiling the code on my machine while they watched. The spawning of the Enderdragon is the ultimate way to drive a point home. After that was done I was able to sit back and let them have some time to play with the plugins and go on a couple of quests.
Then the moment came that was so rewarding. I got called over to the table as the kids were trying to spawn an Enderdragon.
“Mr Bunio, can you show us again how to give our Minecraft a needle so we can spawn an Enderdragon???”
“Yes, I most certainly can…”
Well today was day 1 at Minecraft Code club at my kid’s school. I was lucky enough to have a parent council that was crazy enough to listen to my grand design for how I would teach kids coding by looking at Minecraft Plugins. Even crazier, I was going to do this over lunch in three 35 minute sessions.
And I wasn’t going to teach coding by using scratch or any other graphical coding language. Nope. Straight into Java. And DOS commands, did I mention the DOS commands?
And then just for shits and giggles I was going to do in on Windows 8 laptops.
Yep, I’m a glutton for punishment.
Today was day one. I was going to introduce the concepts of a server, a computer program and look at a plugin to build a house. I had 21 Grade 4 kids in a library with 7 laptops.
It was fabulous.
The kids had all the energy and passion I would have expected. But I didn’t expect the questions on:
- Can I show them how to do this at home?
- Can I help them build their own server?
- Can I help them build the Taj Mahal? (From a Minecraft book) Yes some of them even came prepared with reference material!
We even encountered a bug. Or a glitch as they called it. And they loved every second of it.
I must admit, so did I. Through them I relived the first time in my basement when I typed my first Basic program into my Vic 20. I fell in love. For a kid who couldn’t control much, I could create worlds. Everything was at my fingertips. Suddenly I didn’t feel so small and helpless. I could accomplish anything. Coding and Goaltending gave me the confidence to do anything.
It’s that feeling I want to instill in a few of the boys and girls. Through these lunch time programs we can show what is possible and how to create worlds. Maybe, just maybe, we can create some sparks in a few that will generate a love for coding. Now that would be cool.
Now where did I put that torch?