I’m still not sure whether teaching children programming should be considered a universal aspect of general education and I try not to force my background into education. I guess any father who is a professional programmer (and likes to code for fun in addition to his professional life) is going to be more than willing to teach programming skills to his children but other than personal preferences, is teaching programming really useful for nearly every kid? There may not be a final answer but at least there are indications showing that is the case. According to a recent article Computational thinking vital for child’s analytical ability:
“Dr. Jeannette M. Wing, the President’s Professor of Computer Science and head of the computer science department at Carnegie Mellon University, Pittsburgh, was speaking at Carnegie Mellon Qatar’s Computer Science Distinguished Lecture Series.
‘Thinking like a computer scientist means more than being able to program a computer,’ she said on Tuesday while discussing her global vision and what she sees as important in the 21st century.
‘Computational thinking helps us figure out how to solve problems through reduction, embedding, transformation, decomposition or simulation,’ Wing explained. Skills used every day – such as planning, learning, scheduling, searching, making trade-offs – all come into play with computational thinking.
There are many examples of the influence computational thinking has had on other disciplines. From deciding which line to stand in at the supermarket to sequencing the human genome, from air traffic control to the discovery and development of anti-inflammatory drugs – computational thinking comes in to play.
‘Teaching computational thinking can not only inspire future generations to enter the field of computer science because of its intellectual adventure, but will benefit people in all fields,’ she observed.
Asserting that everyone is able to learn concepts of computational thinking, Wing maintained ‘we should be taking advantage of the tech-savvy generation in order to teach more about computer science. We should try to teach the younger generation the reasons behind new technology.'”
For me, Wing’s words make more sense when I read them in the context of Dr. David Anderegg‘s recent talk at TEDx Brussels 2010: Nerds: What are they? Anderegg drew a very interesting picture showing how the concept of ‘nerd’ evolved and why the world needed more nerds, not less. In a sense I agree with him, we really need more and more creative people who can discover smart and long-term solutions to our complicated problems and only by giving them the right cognitive tools can we raise children who may be our hope in the future.