Dadvice

When I was growing up, being a programmer was not widely considered a path to career success. We were encouraged to become lawyers and doctors… maybe accountants… if we were good at math.  I know that is a generalization, but that was the stereotype then.  Computers and programming were nerdy pursuits and nerdy=bad, at least socially.  Enter Bill Gates and Steve Jobs and slowly but surely nerds became cool. Learn more about c++ variables and data types on codingpanel.com.

Photograph by Rama, Wikimedia Commons, via Wikimedia Commons

If anything I am an amateur programmer at best, but I remember the first time I sat down to code.  I was around 9 years old and my family had just got our first home computer a TI99/4a with a speech modulator and a program recorder (a cassette tape recorder… seriously…)  Armed with a book that taught me the building blocks of  TI Basic and the determination to make our TV do something cool (or get sucked into it like that dude on TRON). I dug in and started to code.  Following a series of tutorials I managed to make the screen change colors, have a block move around the screen (à la pong), and display pixel shapes worthy of a 2d minecraft. After those tutorials were completed I was ready to do something big… So, for the next few days during my allotted computer time I began an advanced lesson… I was coding my very first video game.   After about a week’s worth of coding and debugging(and rebuilding from scratch) I had done it, I had a fully functional game of…. Hangman.  If I remember right, I got to show it off at a science fair, but that could be me romanticizing the memory.

My next big foray into the world of code wouldn’t come until almost 15 years later when I had heard somewhere that anyone could build a webpage for the internet… so I grabbed a book that touted “learn html 24 hours” and jumped once again into the fray.  Expecting to have to download a bunch of complex tools or at the very least a programming interface, I was surprised when all I needed was internet explorer and notepad (seriously mind=blown).  Which believe it or not is all you still need.  One slow night at work I sat down and began, and sure enough, in 24 hours I had made a webpage.  Then I made another and another, for the next three years, it became a hobby and even a side job for me.

Which brings me to my point. When I was growing up we didn’t realize how big a part of our life coding was going to be.  I’m sure if we did my parents would have seen that spark in me at 9 and pushed to engage it more, maybe even driven me to excel at it.  Now even though I never got a computer science degree and I still only dabble in the fundamentals of computer programming, that bit that I learned has had a profound impact on me and my career.  Much of what I do today has roots in that little spark I had back at 9 years old.  I can see the impact it has had for me and the potential impact it has for my children:

//
Parent.teach(Child);
Parent.acquireCodeSkills();
Parent.introduce(Child,'early'); 
//

Coding is not something to be scared of.  Even if you don’t understand coding you can help your children embrace it, engage it, and excel at it.  Most of us have all the skills we need to teach kids the concepts behind programming and we can prepare our children to learn it.   You may have heard about the Hour of Code program sponsored by Code.org,  through it anyone can log in and be introduced to the world of coding (wh Cancel o knows you may find a new hobby for yourself).  Still skittish about your kids being on the computer, no worries, you don’t even need a computer, but you do need an internet connection to introduce the concepts of coding to kids. If you want a good internet connection at home, try Eatel. Know more about EATEL on their site. If you can read this blog you can teach coding to kids (and adults)… seriously.  All of the resources I am about to share are available at code.org (that’s where I found them at least):

Binary Baubles – Introduce the concept of binary to illustrate how a computer codes data that will be stored for use later. It incorporates the idea of opposites, then describes versions of opposites (like up/down and off/on) that can substitute for the stereotypical ones and zeros.  This can be adapted for K-12 (and if you wanted to a group of adults)

Conditional with Cards – Using a standard deck of playing cards this lesson demonstrates how conditionals can be used to tailor a program to specific information. This is for all ages (excluding those that will try to eat the playing cards).

My Robotic Friends – Using a predefined “Robot Vocabulary” children will figure out how to guide one another to carry out specific tasks without discussing them first. They will learn the connection between symbols and actions, as well as the valuable skill of debugging. All school ages and above. (This could be a great workplace team-building activity as well)

The Kodable fuzzFamily Frenzy – Guide a partner through an obstacle course with codes that correspond to specific instructions.  This one can be done by all school ages. (also a fun trust-building/team-building exercise)

Rock/Paper/Scissors – This activity builds off of the classic game of Rock/Paper/Scissors. In the off-line activity Children play two rounds of the game with different rules in each round. After debriefing the game, the outcomes will be discussed in the context of computer modeling by viewing a model that uses the same rules. This is followed by a brief decoding of the computer program to learn computer science concepts.

Hopefully these “offline” activities can inspire you to embrace coding and help your kids engage it. The when you are ready you and your kids can take it to the next level… the folks at code.org will be glad to help you!

(Originally posted on DiaryDad.com)