One million American jobs are unfilled because we do not have qualified Americans to take these jobs. Major tech companies are flying to India and Vietnam higher employees and help them get American Visas.
Silicon Valley is Importing Educated Employees
11th Grade Vietnamese Students can Work for Google
Estonia is Teaching First Graders to Program
Removing Obstacles to STEM
The solution to this problem is to teach children to code. I have been doing some research, because I, myself, don't know how to code. How am I going to teach my kids to do something that I can't do.
Its easy! There are dozens of free programs available on the internet that teach how to code. But coding isn't a language you have to memorize - its a way of thinking differently, solving problems and being logical. These are skills that will help children regardless of what career they choose.
First Grade - At this age coding is more like playing games. You need to teach children that a computer will only do what you tell it to do. Its like the exercise you complete in third grade in which you have to give step-by-step instruction to make a PB&J. Inevitably the instructor forgets some steps and the sandwich is made incorrectly and a lesson in effective communication is learned.
Its the same with talking to computers. You need to tell the computer exactly what the steps are. The computer cannot infer. Its up to the programmer to write the code correctly. An fun and easy way to teach children is through games like Light-Bot or Robo Mind.
Third Grade - We have chosen to start with Ruby. There is a great easy tutorial that starts with simple math equations, measuring the length of a phrase and teaching strings and arrays.
Fifth Grade - After some expertise with Ruby the kids will tackle Scratch. It seems to be the next most logical step. I have done quite a bit of research and found many schools, summer programs, and clubs that teach Scratch. Scratch for Teens is a great accompanying text for learning this language.
About Scratch from the creator - "As a parent I’ve tried to teach my kids to code with mixed results. Arguably they’re a bit too young right now to really see the excitement in creation but I felt that exposing them early to, say, Scratch and electronics kits is a valuable exercise. However, the average school curriculum, at least in Brooklyn where I am, treats programming as an advanced art, offering the kids little more than a bit of word processing and some game playing in lieu of something like Scratch."
Since I only have a 5th grader that's as far as we have gotten with our coding curriculum. But here are lots of other links and programs online that are all free. I'm sure that by the time my child is in high school there will be a whole new host of websites to choose from. Some of my favorites for now are:
Code.org - they are championing bringing coding to every school. They are working with our government to ensure we have educated students to take the unfilled jobs.
Code High School "CodeHS operates on the premise that most online education websites offer content and tests but are missing that important, interactive human element as part of their learning processes. In other words, they lack teachers. So, CodeHS wants to connect students with a real person to help them learn, offering debugging help and feedback on programming style, etc. as part of each exercise." About Code High School
Alice - Turning abstract into animation
If all of that isn't enough of a place to start you can buy your kids LEGOs, the LEGO Robots, find them a LEGO League so they can practice programming robots.
Why reinvent the wheel? This mom compiled a list of programming resources too. Pamela Fox's Blog