We are in the midst of a major cultural shift.
Every day, we hear about technological innovation giving rise to new jobs, media, and products; these advances are occurring at a dizzying and superlinear rate. Our children will know neither cassettes nor phone booths. We will have to explain to them that we used to print out the most salient parts of the Internet in thick bundles called newspapers.
No doubt that there are objects we consider cutting-edge technology today that we'll laugh about or have to explain in twenty years, but there's one thing that all of the r/evolutions in technology have in common: They are possible because someone wrote the code.
Programming is not yet the new literacy, but I believe it will become so during our children's lifetimes. This doesn't mean that future chefs need to know Chef (a tool to configure servers), or that musicians should learn C♯ (a popular Windows programming language); it means that the need for our kids to understand the basics of how software works will not only increase over time, but will eventually become a true necessity.
Understanding how the Internet operates, the kinds of problems that are easy for computers to solve ("How many seconds are there in a trillion years?") and the kinds that are difficult ("Is this a picture of a bird?") — and also knowing the right kinds of questions to ask technical colleagues — will serve kids immeasurably in their lives and careers. Whether they need to create a website for their small business, make legal decisions about technology they use, or find novel ways to share information with their bank, accountant, or doctor, our children will be able to make better decisions if they understand how the software powering their lives is constructed, and what it's capable of doing.
Learning basic programming is not only pragmatic, but also intrinsically useful: It teaches a rigor of thought on par with mathematical inquiry, philosophical debate, and rhetoric. It is a way of learning to think carefully and clearly, and this is the foundation on which other skills are built.
In the words of Marc Andreessen, inventor of the first application we'd recognize as a Web browser: Software is eating the world. Everything from automobiles to telephones now contains sophisticated software and hardware, and there will only be an increasing need for people to build, maintain, and improve that technology in the years to come. This won't only be the job of engineers: Those who work alongside them and use their products will need to have at least a basic understanding of the software involved in order to be able to fully participate in the twenty-first century. The basics of programming will soon be as fundamental as writing and arithmetic, and I believe teaching children these skills now will help set them up for a bright and fulfilling future.
If you want to set your child up for success in the digital world and encourage her to become proficient in computer programming, there are several different routes you can explore. Noodle’s article about the <a href="https://resources.noodle.com/articles/participate-in-the-hour-of-code-to-learn-programming-basics) shares apps that teach young children the fundamentals of coding through games. If you are looking for a more formalized class, you can try online resources like Hour of Code or [Khan Academy](https://www.noodle.com/online-courses/oc774ea/ways-to-use-khan-academy" target="_blank">Code.org, which teach classes about programming at all different levels. Finally, you child can participate in a coding camp or after-school program, such as Digital Media Academy or Girls Who Code.