| Every time this is brought up, there's pearl clutching and handwringing from technical and non-technical folks alike. The fretting goes, "What about the people who don't like it? What about the people who have no aptitude for it?" And to this I ask: What makes programming so special that we should shield people without aptitude from learning it? Many have no aptitude for language – we still require english classes. Many have no passion for the sciences – we still require studying chemistry and biology. Some could care less about history – but every year of high school typically includes a history class scoped to one period or region. So why should programming be different? Why should we shield people from learning a subject which has ubiquity equal to language or mathematics, and infinitely more lucrative application? Why should we accept a substantial chunk of our population being illiterate on a discipline whose misunderstanding can have terrible consequences for both individuals and society at large? Understanding how a computer works, in a world dominated more and more by technology, places you at great advantage. Ignorance of the same leaves you at the mercy of those who are technically proficient and, more and more, limits your lifetime income potential. |
http://www.npr.org/2012/01/01/144550920/physicists-seek-to-l...
The link above is an article about how college level students in introductory physics classes have/are failing spectacularly to learn the basic principles of physics. The key parts:
> While most physics students can recite Newton's second law of motion, Harvard's Mazur says, the conceptual test developed by Hestenes showed that after an entire semester they understood only about 14 percent more about the fundamental concepts of physics. When Mazur read the results, he shook his head in disbelief. The test covered such basic material.
> "I gave it to my students only to discover that they didn't do much better," he says.
> The test has now been given to tens of thousands of students around the world and the results are virtually the same everywhere. The traditional lecture-based physics course produces little or no change in most students' fundamental understanding of how the physical world works.
Mazur notes later in the article that after making major changes in his teaching methods and moving away from lectures and towards student group discussions, the students' learned roughly three times as much material. This is a hilariously large increase, and I suspect it to be the low-hanging fruit as far as potential improvements.
A hundred years ago, Maria Montessori developed methods of teaching that are largely the opposite of traditional lecture-based education systems. Students pursue goals largely independently and at their own pace. She developed materials that grounded complex concepts in the real world - my favorite examples of which are the binomial and trinomial cubes. Here's a link that explains how and why the binomial cube, which represents an algebraic (and fairly complex!) concept, is a material provided to 4-5 year old students: http://www.montessoriworld.org/sensory/sbinoml.html
Today, we have computer games that allow us to discard the limits of physical reality. We can create interactive software to teach or prepare students for concepts that might not be possible with physical materials. Why explain the principles of ecology when you could create a simulated, manipulable world that teaches the user simply by interacting with it? Why not have discussions and lectures following this, once the core material has already been presented and experimented with so that the students can begin with at least a partial understanding?
Learning to program doesn't strike me as any more difficult than learning any other subject. Occasional posts show up here about how someone is teaching their child to program - often well before their teen years. What separates those children from the average child other than economic situation and available opportunities?