Homeschool Computer Programing 101
It was the late 80s. I was in middle school and I was fascinated by computers. They were not a standard household item but the popularity was starting to catch on. I harassed my father about getting one and somehow on his limited budget he secured one from radio shack. What I am about to tell you next is that kids can learn computer programing. The computer my Dad gave me was the Tandy HX1000. I still remember the name and model because when I received this marvelous device, I was like Ralphie in A Christmas Story dreaming about a Red Ryder BB gun. This computer did not have a windows operating system. It was DOS command line based, it was booted off a 3.5-inch disk, and it had almost no productivity tools compared to modern devices. I was in full nerd mode and I wanted to learn.
Learning a Skill
Why am I telling this story? Because this computer launched me into a career in IT where I have been paid enough money to keep my family comfortable with everything they need. To this day more than 30 years later I get paid to use DOS commands in batch scripts and command prompts. The very same DOS commands that I started to learn as a kid on that Tandy HX1000.
What I am about to tell you may seem controversial but everyone reading this needs to hear me. Computer programing is for kids if they are are interested. You do not need a college degree to be a computer programmer. A college degree will open doors to corporate jobs but college does not teach anyone how to program. If you want to be a programmer you must put fingers to the keyboard and use the interface. It must come from a desire and temperament to solve problems.
Homeschool the Perfect Place to Learn
My wife is a trained educator and when the kids were born, she quit her career in public and private schools to be a full-time mom and teacher to our children. In this homeschool academy my role is to support her and to also make suggestions on the direction of what the kids should spend time on. My primary input outside of Biblical studies has been making sure the kids understand the fundamentals of information technology. No matter what field they go into programing and computers are going to be a key component these kids need to understand.
Trial and Error
How do you introduce computer programing to your kids and at what age? The answer is it varies based on each child so below are my attempts and outcomes.
Some kids love it others don’t so adjust based on interest and skills. I consider this an elective like a foreign language. Everyone needs to take the 101 class but after that it has to be something the student must want to purse. One of my children was not interested but the other picked it up and ran with it in ways that surprised me.
Integrated into Games
Start early as a game or a toy. There are many kinds of stem toys that involve types of basic programing. Google “stem toy programing” and you will find all kinds of ideas that did not exist even just a few years ago. When the kids are old enough to play video games is a natural point when you might seize the moment to introduce them programing. Below are some of the approaches I took and the reaction my kids had to it.
Grade Level Options
Middle School Options
Lego MindStorm: Expensive and Complicated
Basically, this is a robot that the kids build and then connect to the computer to download programing actions. The application programing interface is all graphical and is more complicated than my kids were ready for. Also, it is expensive. Lego lists this for ages 9+ but late middle school or high school is more likely. By the time my kids could handle this complexity they were aged out from Lego in general. So, for my family this was a disappointing and expensive flop.
Scratch: Free and Made for Kids
Scratch is a computer programing language created to teach kids found here – scratch.mit.edu – and it is perfect. It is designed for kids and any child that wants to make stuff online will enjoy the experience. We enrolled my 10 year old into a summer class in the community that taught him how to use the interface over a few weeks. This set him up with an account and the basics on how it works. For the next two years he played around on scratch creating ever more complicated programs.
The interface is drag and drop. The child will drag boxes that are commands like “loops” and “if” statements onto the page to build out the program. They get to learn all the programing terms without needing to know the exact syntax of a command-based language. This is perfect since most kids are still learning to type. The other component of scratch is that everything is animated. The kids build their own images in a photoshop style editor. They then program those images to react to mouse clicks. Building games and visual images is highly motivating for kids and even more so when they can show their friends the new game they created.
High School Options
Arduino: Engineering and Programing
Arduino is a miniature computer that is used to run programs that will interact with the physical world. The programing interface is a version of C++. If your high school student is engineering minded then this is the route to go. I highly recommend the official Arduino starter kit. This kit is half the cost of the Lego robot and is much more entertaining in my opinion. The kit comes with a project book and all the parts needed to build the projects. These parts include the mini computer, a bread board for the electronics, miniature led lights, and a liquid crystal display among other things. If your high school student works through this book in a school year they will be well prepared both from a programing perspective and an engineering perspective for a job in technology.
Growing Up To Be A Programmer
Programing is not for everyone and only one of my kids will likely be a programmer when they grow up. I am happy with that outcome. I want them to make a living with something they are good at and honors the God who made them. What I do know is that all my kids have been exposed to the programing language concepts and they understand how these languages are foundational to all the software we use on a daily basis.
Thanks for reading. Please leave a message or click the like button. I welcome stories of your family journey. If you want to read more from this blog please see my open letter to teens here.