I am a strong advocate of teaching programming in schools. In today’s World being able to control your computer is an essential skill for everyone. So let’s assume that lightning strikes, everyone suddenly agrees with me, and we introduce coding as a formal class. The question I’ve been discussing with a few people lately is – what do you remove from a packed curriculum to make space for coding?
Kentucky’s Senate has just passed a bill that would count computer-programming classes as foreign language credits. Someone there obviously remembered the phrase ‘programming language’ and decided that one language was as good as any other. The problem, of course, is that coding and foreign languages have absolutely nothing to do with one another: They aren’t in any way comparable or cognate. And a some understanding of a foreign language can make an enormous difference in understanding and accepting foreign cultures. So, in my perfect World, it’s not foreign languages that gives ground.
Both History and Music have been suggested to me. But when you really think about it – they are both quite essential in producing a rounded person. I dread to think what it would be like if students emerged from high school without some understanding of historical context. Music I’m more sanguine about, but I understand the passion with which others regard it.
My personal target is those household and manual skills that seem to be becoming increasingly replaceable . In the early years of high school they teach basic metal-work and sewing. It’s a sad but true fact that hardly anyone does either out in the wild today. If I look at the marginal utility of having some understanding of coding compared to knowledge of how to make a piece of jewelry from a copper strip, I’m going right for coding. So, as long as something has to give, I would be decreasing the focus on industrial age manual skills and replacing it with information age skills.
That said, if we are still in my perfect World, what I’d really be doing is incorporating coding into everything. What better way to really understand the water-cycle than to create a program demonstrating it? What about actually using an algebraic equation in a real world example? There are so many ways that using coding demonstrates a real understanding of a problem by deconstructing it enough to create a program around it. In that perfect World, nothing has give.