Looking only at the HARD aspect of programming makes limited sense. Many kids consider programming to be "hard and boring." Notice, this is not a trade off. When you watch kids play certain video games you realize that "hard" alone is NOT a reason NOT to engage in activities. But if there is no clear return on investment then you have a serious problem. Why should I write a program to compute "boring" prime numbers?
It should not be surprising that there is a gigantic leap from the way, say, "programming" is portrayed by popular CS education events such as the Hour of Code and the typical level of "expert programming" reached after 10'000 hours of practice. The 9'999 hours do make a difference. There are well documented strategies and tools to transition from "hard and boring" to "accessible and exciting." As suggested by the article block-based programming (which we pioneered) is one mechanism to mitigate the cognitive challenges suggested by the "hard" part of "hard and boring." However, it is also key to understand the affordances of programming languages to build projects that are of actual interest (affective challenges) to students.
The idea of programming as meta skill for logical thinking or math skills have been thoroughly debunked in research literature a long time ago. Just as learning Latin is not particularly useful for most other learning endeavors, learning to code is, well, great for writing code and not much else. The notion of automatic learning benefits from programming, or similarly, from playing chess, onto logical thinking etc. never materialized and large learning science studies did not reveal compelling evidence.
However, while the above statement may suggest that coding is essentially worthless as school activity one has to be careful no to over interpret the empirical findings of learning scientists. As it turns out, if connected with explicit scaffolding, to other disciplines such as Math, Science, or Music there are measurable benefits. These benefits are just not happening automatically. This is good news for schools who try to establish these ideas by connecting, explicitly, disciplines such as math with computer science (programming/coding/computational thinking/
Everybody is entitled to an opinion but in science, including computer science education, there can be evidence that some things really do work. In the context of the Scalable Game Design project we have explored and evaluated a strategy for teacher professional development. As far as I can tell this is the largest study of its kind:
https://sgd.cs.colorado.edu/wiki/images/4/41/TOCE_2015_Repenning.pdf
Abstract: An educated citizenry that participates in and contributes to Science Technology Engineering and Mathematics innovation in the 21st century will require broad literacy and skills in computer science. School systems will need to give increased attention to opportunities for students to engage in computational thinking and ways to promote a deeper understanding of how technologies and software are used as design tools. However, K-12 students in the United States are facing a pipeline for computer science education that is broken. In response to this problem we have developed the Scalable Game Design curriculum based on a strategy to integrate computer science education into the regular school curriculum. This strategy includes opportunities for students to design and program games and Science Technology Engineering and Mathematics simulations. An approach called Computational Thinking Pattern Analysis has been developed to measure and correlate computational thinking skills relevant to game design and simulations. Results from a study with over 10,000 students demonstrate rapid adoption of this curriculum by teachers from multiple disciplines, high student motivation, high levels of participation by women and interest regardless of demographic background.
NSF is a US government foundation supporting science through grants. They are NOT developing anything nor are they patenting anything. NSF is funding organizations, mostly universities, but has a clear disclaimer statement: "Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation."
The original article does not make any such claims and indeed states "a research project funded by the National Science Foundation" - the poster, EditorDavid, should have been a bit more careful.
Oh what crazy irony. Jason obviously does not understand what coding even is. His example:
My kids can come in here and decide to make a device where if my son squeezes his teddy he will send me a tweet to say, ‘I love you.’ Or if you walk through a laser tripwire it will set off an alarm. It interacts with actual hardware, actual code and all it requires is a squeeze, a drag-and-drop and a little imagination.”
This is - guess what - CODING. When you do this: IF press(teddy) THEN say('I love you') using drag and drop it is called coding! I should know with AgentSheets we started drag and drop programming 20 years ago. Happy programming.
Nothing is finished until the paperwork is done.