Interesting. These sorts of headlines bug me, in that they reject computation itself as a novel medium of expression or externalizations of mental models.<p>I think modeling is very important, but Chris seems confused on how to reason about education. The core message, that we want children with higher levels of cognition than mere factual knowledge, is good, but rather obvious. His core conclusion that we don't want a generation of people caring about code has nothing to do with this, and is very misguided. This basically rejects computation as an expressive medium outright in favor of the usual writing and mathematics ("writers and accountants"), rather than recognizing computation's new role in society and new jobs that leverage it (business analyst with his Excel macros, quantitative analyst or data scientist with his combination of statistics and scripting, software engineers, test engineers, architects).<p>It's almost like Chris took
Bloom's taxonomy (not actually a taxonomy, but useful) <a href="http://en.m.wikipedia.org/wiki/Bloom's_taxonomy" rel="nofollow">http://en.m.wikipedia.org/wiki/Bloom's_taxonomy</a> of cognition and decided that the foundational element - knowledge - basic reading, writing, coding, math, and facts - is irrelevant. This is not irrelevant, it is the foundation on which we build comprehension, then application, then analysis, synthesis, and evaluation. This he calls specification, exploration, validation, and debugging. Good luck teaching someone how to apply a model, let along synthesize one, when they can't do the basics of expression. This gets into the philosophy of education, and perhaps this article is just a reflection of the current trend away from rote learning, but this is an active debate, not settled science. This trend may lead to some bizarre outcomes: I see 15 year olds that can't read a wall clock or understand basic techniques around fractions, though they can describe and do basic reasoning about them.<p>Secondly, I believe coding itself is a fundamentally new area of knowledge, and every debate about "coding is the new literacy" really comes down to whether you believe this or reject it. Rather than convince you, all I can do is quote from the preface of SICP <a href="http://mitpress.mit.edu/sicp/front/node3.html" rel="nofollow">http://mitpress.mit.edu/sicp/front/node3.html</a>, one of the great examples of computing pedagogy we have:<p>'Underlying our approach to this subject is our conviction that "computer science" is not a science and that its significance has little to do with computers. The computer revolution is a revolution in the way we think and in the way we express what we think. The essence of this change is the emergence of what might best be called procedural epistemology the study of the structure of knowledge from an imperative point of view, as opposed to the more declarative point of view taken by classical mathematical subjects. Mathematics provides a framework for dealing precisely with notions of "what is." Computation provides a framework for dealing precisely with notions of "how to."'<p>Yes, modeling is important - it's a a higher level of cognitive reasoning. We still should teach kids to code.