Coding for Everyone

One of the best opportunities I’ve had as a Computer Science student at Notre Dame has been work with South Bend Code School to teach members of the community–at any technical level–how to code. I believe coding is the new literacy and should be taught in some capacity in all levels of education. One particular line from the documentary CODE: Debugging the Gender Gap stands out to me when considering my beliefs on this issue. Specifically, I remember one interviewee saying, “in the same way that everyone should know a little bit about law and economics, everyone should know a little bit about programming.” As technology has pervaded culture so significantly in the past few decades, so has the need grown for more citizens to understand the theory behind the software they use.

Working with South Bend Code School, I had the chance to see grade-school students who never considered themselves “coders” publish their first website–and giddily push the limits of the printed-out assignment. “Can I add an image now?” one girl asked. “Sure!” I said, and she was already searching Google for the HTML code to include an image of her family on her new website. In my view, so many people just haven’t been exposed to coding and so don’t understand their own abilities or how understandable or powerful it becomes when you devote a little energy to it.

Perhaps this is one of the criticisms Brian Drayton expresses in his pendulum manifesto against teaching code. I found the articles against the coding literacy movement myopic and unreasonable. Brian Drayton’s comparison to the Logo education movement in the 1980s seems to miss the point–he addresses specific failures of the movement without acknowledging lessons learned or the different approaches institutions are making today. He even conjures that coding is just a field that either can’t be taught well to the masses or one too new to know how to teach it. That does not mean we shouldn’t try!

My counterargument is for him to consider any basic subject in school–and ask it to meet the same standards he sets for coding. Sure, some students are better at math, some are better at language, and some perhaps will be better at coding. That doesn’t mean that Kindergarten classes are specialized in a particular field! As for teaching methodology, I can think of plenty of courses that require hands-on work–I’m sure we can utilize some lessons learned to programming education.

I think coding education should be required for K-12 but actually take a bit of a different approach than a singular class, course, or subject. It should really be integrated into the other courses in assignments, projects, and tests. The application to STEM classes is obvious–code math problems and puzzles, code stoichiometric equations, etc. But imagine writing a program to help you remember basic grammar rules (“i before e except after c”), decode sentence structure, or find trends in Shakespeare’s word choice. The point is, there are coding applications in every subject–and that’s just the point. Code is something that has transformed society in every area, it should do the same in education.