Raising Makers, not Consumers
There’s been a lot of recent buzz around coding workshops and programmes. These coding workshops generally exposes kids with a myriad of cool activities, ranging from the simple introduction to the world of programming using Scratch to building and manipulating robotic kits like the LEGO MINDSTORMS or Makeblock mBot. There idea behind all these movement is of course about raising makers. While technology-based making is just one of the many different facades of this maker movement, it is however getting a lot of attention due to the recent years of success with tech-based startups that’s been making the news.
Regardless, I personally think that these workshops are great. It’s a very engaging and interesting way to introduce the uninitiated to the wonderful world of technology and what anyone can do even with a little knowledge on programming.
But recent discussions on this has also got me thinking a lot about what it really means to be raising my kids to be makers. It’s not enough to just sign them up to all these coding classes and maker’s workshops. I strongly believe that it is equally important to raise our kids with a maker’s mindset as well.
Safe harbour statement
Firstly, a disclaimer. I’m no where near to being an expert on raising kids. Instead, I’m writing this to share one parent’s perspective and journey in trying to raise his kids with a maker’s mindset. I too am still hoping that I’m taking a decent approach towards it. So I implore you to take this as a point of view from yours truly to be argued, validated and re-evaluated as your own idea.
And before I go on, perhaps I should share a little of myself and how I believe I myself exposed with a maker’s mindset myself.
Discovering the magical world of coding
Looking back, I acknowledge that I had been extremely lucky to be growing up in the 80s where I was. The 80s was when computing started to get affordable even in the little town where I grew up. I was lucky because I had the opportunity to be exposed to computers at a very young age; 6 years old to be exact; in one of the few kindergartens in the city that even had a computer course that kids can sign up for.
The memory of me seeing a floppy disk being pushed into a slot on a beige-coloured machine and then typing down a few lines of Logo programming codes is clear as it was just yesterday. I can still remember where the Apple II computers were set up, how we lined up waiting for our turns to type in a few lines of codes using the keyboard, and how we got the triangle turtle on the screen to move around while leaving a line behind it. I remember it was mostly green but a few of us manage to play around with the COLOR command and get it to draw with a few few different colours that the screen would display.
But as rudimentary as it was by the of today’s standard of technology, I remember how mesmerising it was to see a triangle turtle drawing some lines right before my eyes.
Little did I know, that moment has set the path I would be taking over the next couple of decades to where I am today. The very idea that I’m able to create a rectangle of my own liking on the screen simply by typing in a few lines of code literally programmed the rest of my life’s journey.
Of BASIC fractals, easter eggs, and hacking gorilla.bas
What really got me so attracted to technology wasn’t simply because I had access to computers. Sure, computers had a certain techno-appeal to me. Upon deeper reflection, it was the ability to create stuff that got me really hooked. I soon started learning up the BASIC programming language and was coding simple routines that does stuff on the screen, whether it’s a simple routine that “draws” an ASCII-based images or painting the screen with fractal pattern in various colours.
By primary 4 (grade 4), thanks to a bunch of friends I had with the same interest, we created a whole bunch of educational and trivia quiz apps where users would be presented with a bunch of questions and with multiple choice answers. It came with cool introduction animations and Easter eggs that’s plays hidden tunes and animations when the right keyboard combinations are typed, no doubt inspired by the various games we played over the years.
Yes, my friends and I did play a lot of games whenever we get our chance to use the computers. But we also did spend a lot of time hacking the games we played, although I do agree that it was much easier to access do so back in the good old days. Most of the codes were open sourced and freely distributed. Also, there isn’t much else to do after you’ve played your 1337th game of gorilla.bas. Everyone I knew that played the game would eventually tweaked the game’s code to adjust the various aspects of the game, be it the speed, gravity, wind or pretty much anything else in the game.
Creation VS Consumption
There were many other examples of my friends and I spending countless hours creating stuff with our computers. This mindset that we could create anything was really liberating. Therefore as a parent now, I’ve wondered how I could guide my kids towards the same mindset. This is really challenging as it is a consumers world today.
Consider this. With the wrong approach, you can actually just be “consuming” a STEM workshop instead of learning to be a maker!
One conscious decision my wife and I made was to limit my kid’s screen time. They have very limited access to our iPads, primarily reading e-Books and a limited number of education apps. Strictly no games. They also have limited access to a computer, which I will touch on in detail below.
Oh, and we do not have a TV in the home. Yes. No TV. Nada. No Nickelodeon, no Disney, nothing.
In our experience, it has been interesting to see the outcome of stifling our kids from over consumption of digital media. And to be clear, we don’t hide the existence of these contents, we simply just deny them access. Thus, my kids are still exposed to friends playing Pokémon on smartphones. But because they are denied from playing (consuming) it on their own, my kids would instead create their own versions of the game, on paper. Power Monsters, so they are called, with all its various powers, shapes and forms. The name mainly came about because they knew they weren’t allowed to play Pokémon, so, a new self-created, analogue (paper) version of the game is therefore allowed!
There are many other similar examples too, all taking form of reimagined rules, created and played on paper. Why paper? Well, it’s the one medium they have unlimited access to for anything they want to draw or create. Plus it’s not a screen, so all the rules on screens does not apply. Which is absolutely cool with me. 😉
We knew that we would eventually want them to explore creating digitally. But it took us some thinking how we wanted to approach it. We wanted to continue an environment where they would create more than they consume, but also allow them a new digital medium that would expose them to a new world of creation. The approach we decided to take therefore had a big emphasis on self-discovery and creation.
Minecraft: The Modern Minesweeper, and more
We first started with Minecraft. My kids has been very curious with Minecraft for a long time. As I mentioned, I don’t bubble them up from external exposures so they’ve seen their cousins play Minecraft. So I decided to leverage on their interest with Minecraft for a couple of things. One of it was a way to get them trained and be comfortable with using a computer with a keyboard and mouse interface. Before, we have tried using typing apps but it gets a little mundane after a while. Minecraft turned out to be a great motivator and I literally just left them alone after giving them the basics of the controls; “WASD” and the mouse to navigate and manipulate things in the world of Minecraft. The other thing I left them with was a book on creating items and structures in Minecraft, which was my other idea of trying to teach them self-discovery and experimentations.
The initial days was quite frustrating for them. They still had limited time on computers, a total of 2 hours, roughly 1 hour each with them taking turns. And I also simply refused them any help, asking them to just keep practicing and learn to be comfortable with the keyboard and mouse controls. After a few weeks, they eventually did keyboard and mouse interface and was finally able to properly explore the world of Minecraft. And that’s when they started creating in Minecraft.
This actually reminds me a lot of Minesweeper of Windows 3.1, which was how a lot of us learnt to get comfortable with the mouse interface in the early days of point and click interfaces.
Their Minecraft creations today aren’t perfect. But that’s actually kind of the point too. We didn’t want perfect structures to be created in their Minecraft worlds, using books or YouTube tutorial videos as references they would copy from. Instead, we just left them to build whatever they want. And that’s exactly what they did.
The cool thing we discovered with this adventure with Minecraft was two fold.
Firstly, my kids got really comfortable with using the keyboard and mouse as the primary interface. To me, this is a very important milestone to get to. Otherwise, I think it would have inhibited them from being able to start programming (starting now with Scratch) in the way I wanted. I suppose it’s like creating in any other form. You first have to get comfortable with the tools of the craft before you’re able to truly create.
Secondly, they read from books that they are ways to programme stuff to happen in Minecraft. That got them really curious with programming! And that’s how the next journey started.
Starting the programming journey with Scratch
Honestly, it could have been any other language. But the main reason why I’ve started my kids with Scratch was simply because there was a lot more books available on Scratch. A particular one was this Coding Games in Scratch (available here on Amazon) book that a friend lent to us. I think this book worked really well for my kids for one reason; that they do not have access to any games at home but they know that I would allow them to “test” the games that they would create on their own.
This actually reminded me how I myself got started with Logo, and eventually QBasic programming in my early days of computing. I will have to give most of the credit to my parents who’ve supported my learning by buying books on programming and bringing me to libraries to borrow all the programming books I could find. The library at the town I grew up was pretty small and only had a single shelf of computing books, which I believe I had borrowed all of them over time.
So, I pretty much just did the same for my kids. We mostly searched and borrowed whatever we can find at the libraries and left them to their own devices. I’ve only helped with they get too frustrated with the mistakes and bugs in their code. And even then, I would try to guide them how I would go about debugging the code and finding where the error was. I didn’t have any idea how this would go, but today, while not an expert yet, they do have a decent understanding of the basic concepts of coding: variables, flow controls, and even event handling! Scratch really has made it much simpler to learn programming, with blocks representing a function or controls instead of typing the line of code itself.
Why I think this seems to work, at least for my kids, is that they have also moved beyond just doing what the book tells them to. Today, they would create their own versions of the games. Some are based on guidance from the book on what to “hack”. But a lot of it are also ideas of their own. While the basic mechanics of their games are mostly the same, it really doesn’t matter at all. That’s because they have understood how to create gravity for platform-type games, and how to move a sprite around a maze as a moving enemy. That to me validates that my hands-off approach to allow them to explore is working.
Further to that, they are also starting to be interested with other languages like Python. And recently when my wife got them a book introducing the RaspberryPi, they could easily play around with SonicPi because they were already comfortable with typing lines of codes and have the basic understanding of algorithms.
This brings me back to where I started thinking about this topic and how we should approach the cool and interesting STEM-focused workshops, especially those on programming. To me, this is just like how we should approach art. It’s more about learning to paint with the brush and colours, then to simply paint by the numbers pre-printed on the canvas.
We should approach it in a way that get our kids to learn to be makers. It should not be about the end product, not how perfect the animation or program that our kids would complete at the end of the workshop. Instead, it’s about learning the craft and allowing them to learn from their failures as they practice this new skills they are acquiring.
But at the same time, I also think we need to be very mindful with the consumers trap. It is again far too easy to go back into a consumption mode, even when we might think that we are learning to create. Copying the codes from a step-by-step book is a good start, but it should never end there. We need to encourage and give them the space to be creative and create their own versions of what they’ve learn. Crooked lines for their maze is fine, as long as they still manage to get the sprites to move about the maze as they want it to be.
Saturdays with the kids
So, what does a typical programming session with my kids look like? Well the illustration below is not far from reality.