Readers pounce on this post:
Jathan Sadowski uses flimsy logic in being against kids learning computer programming. Of course, illiteracy is a problem and should be addressed, but nobody is arguing to sacrifice the study of history, music or gym to tackle the problem. Assuming it is a matter of allocating time and resources, I truly believe that most Americans would be better served learning coding basics, in both a practical and educational way, rather than any math beyond basic algebra and geometry.
I’m not sold on the idea that coding should be mandatory in K-12 education, but I do think it is important. Actually, I think it’s important enough that it should be a included in the core curriculum requirements for any college graduate. I say this because, as a recent college grad, an overwhelming percentage of jobs I’m looking to apply for require some coding experience. I’m going back to school next semester to take two coding classes. The hope is my new knowledge will open up job opportunities I might otherwise have missed out on.
I learned some basic coding in Matlab during undergrad, and I thought I would hate it, but it was great.
Learning to code requires thinking through the steps of a problem and figuring out how to solve it most efficiently. Laying out the steps in coding is the same as building evidence for an argument in the liberal arts, you just use different pieces. So while it’s great that learning to code might lead to better job prospects, it also teaches you how to think and solve problems, which I think is the greater value of learning to code.
The obvious question is: Code what? And the fact that it apparently isn’t being asked suggests that those pushing this are massively ignorant of the IT field they are trying to prepare their kids for.
In my IT career, I have learned to code in several languages: FORTRAN, CoBOL, Assembler, SAS, html, etc. There is a little overlap, in that writing a program in any of them require a certain amount of ability to think thru a process. But as far as actual coding goes, the overlap is nonexistent.
To give you an analogy, how much does it help you to learn to read and write Japanese that you already know German? Different sentence structure, characters rather than an alphabet, one gives genders to every noun while the other does not, one has separate verb systems for formal and informal usage, etc. – not a whole lot of transfer there. Or does learning one of the click-languages of southern Africa help you to learn a tonal language like Chinese?
In addition, there are new computer languages appearing every year. Some of them will catch on; others never will. And any language that is currently in use is subject to massive obsolescence as new ones come along – quite possibly before the kids are even out of school. So how do you decide which one to teach the kids? Until someone can answer that question sensibly, any argument for teaching coding is built on sand.