Do your kids think you “play” with computers all day? Mine used to, that is, until yesterday.
Last week a few of us parents organized a coding party for our kids to introduce them to the fun and creative world of programming. Given that our kids spend so much time interacting with computers, teaching them how to control these machines with some creative programming is a powerful life skill.
But it wasn’t just the tech aspect of computer programming we wanted to stimulate. Programming is a team sport, and we wanted to show them how fun and productive it can be to work as a team! Overall the day was a great success. Here’s how it all went down:
Step 1: prep work
We debated what format to use. Should we give presentations to the kids and then exercises, or just let them try things out for themselves? In the end, we went for the simplest possible agenda: pair kids with parents, present, break for lunch, pair with friends, present, call it a day! The format was a bit like our quarterly, 24-hour hackathons, known as ShipIt.
In order for each child to have his own computer, we prepared a list of attendees and ensured we had a machine for everyone by borrowing from the loaner pool at Atlassian. It was important that everyone had the opportunity to work on their own and learn the basics themselves. Pairing is great, but everyone needs time to explore as they learn at different paces.
The parents had the following dead simple prep work for the night before:
- Get familiar (aka play for hours) with Scratch.
- Optional for older kids, set up the Minecraft dev environment. This is rather complicated for young kids, but for the older kids it is a blast.
The organizer created a Scratch Studio so that we could share the creations and prepare for some pair programming and forking after lunch!
Step 2: Attention span
We ran the event from 11:30 to 3:30 with a fun lunch break in the middle. Turns out it was just the right amount of time! The younger kids had lost interest by then and the mid-aged kids had just enough time to build one or two cool projects.
We didn’t end-up hacking Minecraft because Scratch is simpler and age scalable – it keeps 5-year-olds and 40-year-olds captivated for long periods!
Step 3: Get everyone to present
The highlight of the day was getting kids to demo and explain what they had created. When the first presentation round started, most were very shy, but it didn’t take long for everyone to warm up. They were all very proud to show their creations! The presos ended up being a great way to learn; kids asked heaps of questions like “how did you get that missile to blow up the rock?” and “I didn’t know you could track the score?” and ended up teaching themselves.
Pro Tip: Don’t forget to clap after each demo, this added to the ShipIt feel and you could see how proud each child was of their work. It was priceless.
Step 4: Don’t force pairing, it will happen automatically
We used the presentations as the catalyst for pairing. We nudged kids of the same age together based on their feedback and comments during the presentations. Kids won’t hold back, and were overheard saying “wow, I loved what she built” to which we’d reply “I’m sure she wouldn’t mind if you worked on that together.” And pairing happened for the rest of the day.
Step 5: Remix and forking
One of the great features in Scratch is the DVCS forking like feature called ‘remixing.’ By the end of the day, we had 27 projects in our Scratch Studio. The kids starting extending the projects from others and showing off what they had done to them. All we need now is pull-requests between Scratch projects and we’ve got DVCS-enabled kids too!
All in all, it was a great day and something we will definitely repeat! It’s simple to prepare, and will leave your children with fond memories of what mum or dad do for a living!