I believe that coding or at least a technical vocabulary will be the new literacy, or at very least a base skill needed for a wide range of modern jobs. There is so much to say around the subject, but let me first lay out where I stand. I think teaching kids to only code in a single language is short sighted and somewhat useless. I liken this to teaching a kid Spanish where he really needs to know Latin; teaching a kid one specific language when they would use many different languages and concepts through their jobs is not a good use of their time. This is Jeff Atwood’s basic principle in his blog post “Please don’t learn to code”. As a software engineer, he’s not against the subject as much as he’s pro teaching it correctly by emphasizing problem solving and computational thinking.
In addition to this, many people may believe coding is too niche to be taught in schools. To this I would point to any number of required high school course. In my high school, physics, chemistry, and biology were all required. They’re not required because every student will use them in their future career ( and many haven’t). They’re required because they provide a scientific literacy and knowledge base for a wide range of STEM careers/majors. When I talk about adding coding to a curriculum, it is in this capacity: to provide the wide technological literacy and knowledge base for the ever expanding number of careers that are based on them ( some 1.2 million new jobs by 2022).
From that background I whole heartedly believe in making it required learning in high school. While I believe the subject matter is simple enough to be taught at the middle school level, the scope/theme of high school classes is more in lined with what I believe should be in computer science classes.
The curriculum for these classes should involve: Basic pogroming (writing of code) for the purpose of solving problems and completing procedures. The class should also cover how the computer handles the information and how that affects the solving of problems. Theses two main concepts could be split into two semesters or crammed into one. I believe the computational problem solving section is the most important, and the details of the tech are secondary.
At the end of the day not everyone is going to like computers/tech, nor is everyone going to want to code. The computational thinking appeals to the largest number of people and should be targeted first; however, I would love to see an expansion of technology electives. My school is the best in my home state, yet we didn’t offer AP computer science, nor did we offer more than 4 technology related course. The teacher of these courses was trained specifically for those curriculum. Which brings me to the last and maybe more obvious bit: we need more computer science teachers for highschools. Anyone with a bachelors is unlikely to teach, and there are few to none integrated teaching/computer science programs. Before anything else is possible, the teacher problem must be solved.
Overall I believe this to be a currently relevant and important thing that must be handled, if not by our government but by ourselves. It seems that congress didn’t listen to Obama when he called for 4 billion in federal funding for coding but it has created a national conversation that has caused localities to act. This may have created a patchwork of eduction areas, which is better than nothing. Still, we have a long way to code.