How does learning to program at a younger age set children up for the future?

Programming is hard. It's challenging, unyielding, and sometimes irritating. Even so, after fighting with a particularly difficult piece of code and adapting to the feedback from error after error, something clicks. You learn. You solve a problem and feel the glory of success that only comes from persistence in the face of adversity. That joy, that fire, reminds you that you are triumphant and capable of overcoming obstacles in many different shapes if you are just willing to tackle them from different angles and pay attention to the signs sent to you by failure. You learn the value of failure itself. You learn that no matter how many times you are wrong, you still have the opportunity to be right. You learn that your mind is malleable and that your understanding of the world around you can be shaped and reshaped by every dead-end that you hit. Best of all, you are reminded of this dozens of times each day as you arrange and rearrange a limited number of instructions to create an unlimited number of applications, utilities, games, models, or simulations.  

Whether or not a student ends up in a job that requires programming, the act of learning to program will prepare them to learn from their environment. It will prepare them to learn from failure and to learn without explicitly being taught, which is the key to becoming an innovator so that they can shape their world instead of merely living in it.

What do you hope to see for the future of k-12 education in the digital age?

In many places, education is divided into silos.  Each subject is taught at its distinct moment and in a specific context, making it hard to recognize authentic occasions for combining knowledge to solve problems outside of school. My hope is that digital tools will provide the opportunity to blend ideas into learning adventures that are meaningful to students and are more easily translated into real life skills.

What do you think are the greatest benefits of integrating technology education in the classroom?

Students learn different subjects at different rates and expecting each of them to move in lockstep with their classmates because their birthdays fall within the same year is uncomfortably arbitrary. Then, presuming that teachers should be able to differentiate curriculum appropriately for each of their students is unfair and impractical. Technology is uniquely situated to solve this problem, being that it is quite good at stashing away a vast amount of information and only presenting us with what is needed at that time. I believe that good platforms can help further individualize education by challenging those who are excelling while encouraging those who are falling behind.

At the moment, it's hard to imagine such options being successful since the majority of the cutting edge educational software is designed by engineers and philanthropists, rather than by educators themselves. This leads to a market saturated with options, and no way for teachers to separate promises from results. Technology can help here. With the right platform to curate options, reviews and results, the world of k-12 education would be able to confidently adopt products that are worth the investment, helping to prevent tech recoil from expensive experiments that don't turn out to be effective. Of course, there are always activity-based coding books, too—like the ones I have written for DK Publishing—which are full of fun exercises with step-by-step guidance, making them the perfect introductory tools for kids (and their parents and teachers) to build vital skills in computer programming.