The push for computer science information in lower level education is a rising tide in the U.S. One article writes that “the high school AP course has sustained record growth” and Ivanka Trump is pushing computer science from the White House. I think this is a fantastic thing. Computers play such an important part of our modern lives that everyone should have at least a basic understanding of how they work, so they understand how the many programs they might interact with on a day to day basis are working, at least on a basic level. Many people push computer science education because of the many job opporunities, which is a great thing, but I agree more with the sentiment that “it’s bigger than just preparing students for potential jobs, at the core of computer science is computational thinking, and, to me, computational thinking and that algorithmic process is a key skill that every student should have, that they can use in a lot of different professions and in everyday life.” This is more and more the way our business and economy thinks and works, so I think it is a disservice not to prepare our citizens for the way this works.
However, not everyone needs to be the best coder in the world. We still need doctors, educators, restaurant owners, etc. who don’t code on a daily basis. But they will be interacting with computers on a daily basis. We need to make sure that our workforce is comfortable working with computers programs and maybe a few years from now working alongside AI applications. I’m more concerned with computer education as a 21st century literacy tool than I am having a society of deeply knowledgeable computer experts.’
There is also an article about replacing foreign language requirements with computer language requirements. I think that this shows how low computer literacy actually is in the U.S. The difference between learning a computer language and learning Chinese is obviously an incalculably different for those of us versed in programming. They teach two very different life skills. If you want to argue that learning computer programming is more important than learning a foreign language and there is limited material to teach people, that is a debate that we can have. But the fact that a state government is somehow equating foreign language to computer languages shows just how far we have to go.
There are also some arguments against teaching computer science to everyone that focus on the idea that some people just simply can’t learn to program. One of the articles cites a study where they compared students before and after three weeks of instruction and found a split distribution between people who understood and didn’t understand coding. This distribution could also be found before any instruction in coding. While this might seem like a convincing argument against teaching people, there are a ton of studies that show people are not simply born with talents. They are acquired. This isn’t a disputable fact for most activities. It would highly surprise me if coding turned out to be one of these activities. To me, it’s more likely there is a confounding factor causing this. It could be that exposure to some other activity or field allows some students to better build the cognitive models for programming. It could be that there is some physical brain developmental hurdle still yet to be crossed (first year students in this study are most likely 17 or 18, they still have another five years or so before brain growth stops). It may be more difficult for some people to learn programming, but I think with some more innovative research and thought into the best ways to teach computer science, I suspect this is a barrier we can overcome. Even if I’m wrong, I think it is a mistake to stop searching for a solution this early into our field’s history.