Should Every Student Learn to Code?

Another discussion topic poised by my VB.NET teacher, this one sparked in part by the Association for Computing Machinery partnering with Code.org to increase the prominence of computer science in the US’s K-12 curriculum. He included a bunch of links there, of which “Should Everybody Learn to Code?” is one of my favorites.

My take?

There’s a couple of approaches inferred by “learning to code”. Learning how to code in a particular programming language is probably not so universally useful. Learning how to break big problems into small solutions – the theory of programming – is a skill that is hugely useful in all facets of our life.

IF a programming course were focused on the theories, I can see it being integrated into the push for critical thinking skills – BUT you don’t have to learn to code to learn how to think things through in a logical, step-wise manner, or to learn how to see all the parts to a particular puzzle.

~~~

And then a classmate raised some points, which I will summarize:

  • “True life skills” need to be taught in schools, “skills that I can apply to my life on a daily basis”
  • “People should be free to pursue their passions not  have other peoples passions pushed on to them.” [sic]

The “true life skills” point stuck with me, and I ended up responding:

~~~

  • There is a big distinction between the process of programming and specific programming languages, no matter how nicely intertwined learning the first can be with learning the second. The process of programming – defining your goals and creating a step-wise plan of how to go from start to finish – is something that I think counts very strongly as a “true life skill”.There are, of course, a ton of other approaches to learning that skill of breaking down big problems into a series of small solutions, but the curriculum also needs to address the needs of those students when they are out in the work force. Most educators prefer to teach the concept with the practical application – that whole “teach a man to fish” parable. He may never learn patience, but he will at least not learn it on a full stomach.If you’ve seen the cash registers at most retail stores these days, the idea that understanding how computers work can help just about everyone in their jobs doesn’t seem so far out of line.(I’d prefer if everyone learned how to count back cash, but that was getting sacrificed to the curriculum gods even when I was in middle school.)
  • There are schools that require home economics as a graduation requirement (or at least did while I was in high school), and there are people who oppose it on the grounds that it crosses the lines of responsibilities between what a parent should be teaching their children and the level of minutiae that a public institution should be getting into in our personal lives.
    • Any time we start poking at what public educators should be teaching our children, there is going to be a debate about whether the lesson plans fall within the scope of public education versus parental control over raising children.
  • I’m not sure that adding learning a relatively simple programming language to the K-12 curriculum is necessarily pushing someone else’s passion onto children, but I do agree that we should be cautious about redesigning the curriculum goals just to match our ideologies, as opposed to what will have tangible benefits to our children.

~~~

What do you think?