Code before Calculus
Jeff Atwood posted a thought provoking post that I very much wanted to disagree with. He argues that most people will not benefit from learning to code, and that coding is not at all similar to those fundamental skills (reading, writing, mathematics) that everyone should know. He’s certainly correct. Most of my friends and relatives do not know how to program anything, and they don’t suffer for that ignorance.
But the post bothered me. I don’t just enjoy programming, I enjoy teaching young people to program, and I have often told technically minded young men that it is essential that they learn programming skills. I also enjoy advanced mathematics, and I have very much enjoyed teaching calculus, linear algebra, probability, abstract algebra, and topology. Math is more fun for me than programming, but somehow …I don’t encourage bright young men to pursue mathematics. Moreover, since leaving academia, I haven’t looked for any opportunities to teach mathematics outside of my family. I do look for opportunities to teach programming, as I think it is an extremely useful skill, both for the professional opportunities, and for use in other technical vocations.
So Jeff is correct in that the notion that everyone should code is absurd. But let’s forget about “everyone” and ask ourselves what we should teach those bright young men that want to solve technical problems. Currently we teach them Algebra, Geometry, Trigonometry, Calculus, Biology, Chemistry, and Physics. For those of you that solve technical problems for a living, which is more valuable: coding skills or derivatives and integrals?
I don’t think I need to look up the numbers to convince you that far more men pay their bills with programming skills than with mathematics expertise. From my personal experience, as I was changing vocations from academia to software development, there was never a time that someone suggested that my calculus skills would be useful for a particular type of job. Moreover, I don’t know of anyone that regularly uses higher mathematics in work outside of academia without also using programming skills.
Programming isn’t for everyone. But is far more practically useful than Calculus, while still providing the benefits of exercising logical thinking skills. As one that loves mathematics more than code, but cares even more about training our young men effectively, it is time for programming to have a real place in the high school and college math/science curriculum.