“Knowledge is Power,” said James Broughton. Oh, I know I’m going to catch flack for that quote, - it was Sir Francis Bacon, or Thomas Hobbes, depending upon how technical you want to get. However, this is a post about children and growing up to be future techies. So I’ll regale you with a little story before we get started. James of the ‘famous’ quote above is my father. One day, back in the early 90’s before I ventured into the tech world (and before I realized that Sir Francis Bacon said ‘knowledge is power’), my father and I were having a discussion over knowledge, power, opportunity and making it in the real world. He never directly quoted anyone at the time, but that one phrase he told me stuck with me my entire teenage life and throughout everything I do today : “Knowledge is Power”.
Now, fast forward through a few tech companies, closing in 15+ years of IT experience and amassing quite a bit of knowledge. A few weeks ago I received an email from the former CEO/CTO (since retired) of the first tech company I worked for back in the 90s. He asked me what it took for a kid to make it in the tech industry without a degree in IT, with what knowledge they should start out with. I felt quite humbled by the CEO of this company asking me this information on the behalf of his own children nearly ready to start out on their own. You see, I was given an opportunity at a very ripe age of 17 by this man and his wife to work for their company as a computer technician. They took a gamble and placed me under the care of one of their very competent techs where I was able to gain a foothold in the IT industry and get to where I am today. Without the kindness of that man, his wife and the patience and understanding of that IT technician, I would have never been given an opportunity. During my years in that company I learned that my Father/Bacon/Hobbes was right, it wasn’t a degree that mattered, but that knowledge really was power. I spent nearly 5 years at the company absorbing everything that was thrown at me, and with each challenge given to me by the company they gave me more roles and responsibilities to grow as a tech.
So how does this work? How does someone out of high school start out at a tech company and move up in the IT world without a degree? It starts at home. I’m willing to bet that either the ones reading this post, be they parents or children of parents that wanted them to get ahead in the IT world, have a similar story to share. I won’t bore you with many details, however it really does start at home. My mother gave me the opportunity everyday to work on my typing skills, which eventually lead to programming skills prior to my BBS days. With each new technology that came out I absorbed everything like a sponge, children do that you know. As a father of two young children, I want to give them an opportunity to do what they want to in life, yet even at their young ages they can operate the computer, and they are great at the GCompWiz program for kids.
I feel if our children are truly interested in technology at a young age, it is our responsibility as parents to guide them in that direction, as my mother did with me, and by the assistance of that owner of the company given the opportunity to hone my skills. There are quite a few typing tutors out for linux, along with GCompWiz for children (my kids love it). However I have recently discovered Scratch Programming. In my quest to further both my own knowledge and that of my children I picked up “Super Scratch Programming Adventure” by the LEAD Project. Scratch was developed at the MIT Media Lab in 2006 to make learning programming easier for kids. This post, however, won’t be getting into the semantics of Scratch programming, as Mike Diehl covered this in an excellent Linux Journal article here: http://www.linuxjournal.com/content/programming-scratch.
Back in 2010, my children were still in the crawling phase and Scratch programming was the least of my worries. However, as they grow up, and the involvement of social circles I’ve been getting into with other like-minded tech parents, I have recently started to look into such adventures. Along came Super Scratch Programming Adventure. Now, if you have young kids like mine (4 years old), odds are this book isn’t for them; I would say this book is more tailored to the pre-teen market of 10+. The layout is that of a comic book style, which I rather enjoyed reading. Your goal is to help a programmer named Mitch guide Scratch through various goals to rescue the world from evil. The book is full color, it steps through a comic layout which guides the parent/educator and child through each step in creating their own program to get to the next step in their adventure.
What I particularly enjoy about this book is at the end of each chapter they give you ideas on how to modify the code you created to build another program. However the hints given are not ‘do xx to create yy’, but more of a ‘Try making this into a completely different game of xxx instead of what you just learned with the skills we gave you’. Each chapter builds upon the previous learning experience as you gain valuable knowledge in the basics of programming. Scratch allows your child/student to learn the basics of programming so that when the time comes to learn a higher level of programming language they have the basic foundation of a programming language, yet they are learning in a really awesome, game building way. I actually had so much fun building cool games in Scratch that I didn’t want to share my computer with the kids (shame on me). My kids may be too young at this age to understand the programming itself but they enjoy guiding me in making the cat move in what direction or what adventure comes next. At the end of the book there is a chapter that I can’t wait to get into, augmenting the Scratch games with real world electronics via a PicoBoard.
All in all, I felt that this book is ready for ‘prime time’ teaching and training both at home for parents of children over the ages of 10, and as an educational resource in a classroom. I feel that a book such as this could be a valuable training resource, combined with a lesson plan for a basic introduction to programming. I remember in my school our PASCAL and C programming was not exciting at all. I don’t remember creating such exciting games as these- had there been an entertaining learning experience in our school I probably would have picked up programming with more enthusiasm than the attitude I had at the time.
It is my hope that when my children are trying to figure out what they want to do in life, be it technology or another field of study, that as a parent I have the skills and knowledge necessary to guide them in the direction they wish to go. Given the chance to absorb knowledge, encouragement by parents, the helping hand by someone such as a business owner willing to let a young eager mind demonstrate their skills and the training by peers in such an environment I feel our kids can do anything with their knowledge. If you’re a supervisor or a business owner, give that eager young mind an opportunity to learn and develop their skills. If your task is to teach and train new minds in your field of study, don’t look upon it as a chore but as a chance to mold eager new minds willing to absorb everything you teach them. If you’re reading this just starting out, Don’t give up, absorb all that knowledge that is given to you, opportunity is always around the corner. After all, Knowledge is Power.
How about you? Parents out there? What do/have you done with your children to educate them in the technical world? What applications or educational software do you recommend or use to assist them in their endeavours? Do you have any Linux recommendations for typing tutors, or other applications that are similar to GCompWiz or Scratch Programming? I just read on /. the other day about a ‘Python Programming for Kids’ book as well.
Links of interest:
http://scratch.mit.edu/ (Scratch’s main site)
http://www.nostarch.com/scratch (purchase from their site and get DRM free Ebook)
http://llk.media.mit.edu/ Life Long Learning Media lab & MIT (Brainchild group of Scratch)