"There are no books that teach you how to solve a problem no one has seen before. This is why I don’t want my kids to learn coding syntax. I want them to learn to solve problems, to dive deep into an issue, to be creative. So how do we teach that?"
"Teach kids the world is full of interesting things to discover. You’re showing them how to be passionate and look for that ephemeral sense of quality in everything they do.
"The best part is that even if they don’t become coders—most shouldn’t and won’t—the same skills can be used in nearly any career, in every hobby, in every life. When we force kids to learn syntax, we reinforce the idea that if something is not a blatantly employable skill, it’s not valuable. Adults can learn syntax. Only kids can learn to embrace curiosity."
Couple of points I wish to make:
In my business, i do property development. I also do sight analysis prior to purchase. The most fun part of my job is to very carefully listen to what the customer thinks that they are after. Then I ask a couple questions to fill in any blanks that I might have, followed by my explanation of the interpretation of what I think I can create for them. Opperating heavy equipment is my creative outlet. I get to sculpt. The Earth is my medium and my dozers and excavator are my tools.
I also require my very analytical side to figure out the 200 steps between beginning and completion, the most efficient order in which to do those steps, estimate the time needed to perform those tasks and the materials required. This work is all required just to create the bid and get the job. Later, implementing this plan is so rewarding. Finding that you were accurate in your estimate and having the ability to see real accomplishment at the end of the day. Significant work and dreams created.
The reason that I bring this up in this discussion is because a lot of my friends that work in the tech industry have told me that they would trade places with me in a second.
Creativity, technical know how, problem solving and art can come together in many different ways. And, it can all be taught in as many ways.
I just have to disagree here. I have young people in my firm who sit at home learning to code from the pure joy of the problem solving skills it gives them. I think this is a really jaded view of coding. Programming is like being a plumber: it's a tool to solve problems. And a pretty effective one, but also one where it really is possible to get better and better at it your whole life.
The one problem with what is said in the article is the equating of “coding” to the process of software development. Coding is only one part of software development.
Other essential elements of software development include (problem) analysis, design, development (this is coding), testing, deployment and documentation. And, for many systems, this is an iterative process whereby the software system is updated to reflect changes in need.
The author has failed in his analogy because his analogy is wrong — and so is that of the authors pushing coding as the answer.
The author is right when he addresses the larger problem... we should work to encourage wonder and the desire to explore in our kids — to encourage their curiosity. But, the author is wrong too. We also need to teach our children that there is more than just curiosity. We need to teach them to look beyond what they experience to identify new paradigms that are not limited by the experience or limited by the rules of others. We need to teach them to reach beyond their failures and strictures to find new ways to address and resolve problems; and, to even find new problems. Simply teaching them to be creative is not enough.