Larry Cuban has written a three-part series about how teaching CS is the new vocational training (one, two, three). His argument comes from a place of watching a range of top-down mandates (think No Child Left Behind) create crappy outcomes for kids. I get that. Many districts and schools shove various reforms down teachers’ throats, without buy-in, without conversation. And maybe there are places out there that are doing that with Computer Science. But that’s not been my experience. I may teach in an independent school where teachers have a lot of freedom to develop curriculum but through my various CSTA (Computer Science Teachers Association) connections, I know a lot of public school CS teachers. And many of them are fighting to get their schools or districts to accept CS–often as just an elective much less as a requirement.
And I understand Cuban’s queasiness about industry seemingly dictating what to teach. I read the Times article, too. Idaho, what are you thinking? But Computer Science, the field, not just coding, underlies so much of how our world runs. To discount its importance in public school, to denigrate it as merely vocational, seems to me to miss the point.
Part of the issue here is the coding (or programming) is the easiest way to explain what Computer Science is to most people. Programming is also a good tool to use to understand a range of concepts related to Computer Science. And there are programmers out there who may have learned the concepts of CS through their many programming classes, but now never use them nor need to use them. Just as there are people doing math in their jobs who have forgotten their mathematical proofs. But we would never call math simply vocational, because it could lead to other, bigger, things. So can CS, so I don’t understand why we continue to think of it as limiting.
I would also contend that even if one wants to think of CS as primarily vocational, the careers CS supports are not just software engineering careers. Cuban cites, for example, business services, as a bigger growth area than technology careers. Business services involves a lot of CS. Ad targeting, shipping logistics, sales analyses–all part of business services–all need computing.
I would argue, too, that increasing underrepresented groups in Computer Science depends on introducing CS at an early age in public schools. Black, hispanic, latina/o, and female students often arrive at college to find that their white and Asian (mostly male) counterparts have had much more exposure to CS (either through school or extracurriculars) and feel discouraged and unable to catch up. They need a foundation under them that will give them confidence to continue or even try the field at this advanced level.
Students get exposed to Biology in elementary school and just as few careers in biology appear on the BLS “most growth” career list (nurses and medical assistants) as for CS (software engineers and systems analysts). Oh sure, you can argue we need to know about our bodies. Well, we need to know about the machines we use everyday and hold in our hands and that are running our refrigerators and light bulbs. How is okay not to understand that stuff? If, as Cuban argues, part of schooling is about creating informed citizens, then learning CS fits right in with that goal.
It’s important to know that Facebook and Google use algorithms to present information and those algorithms can be exploited. It’s important to understand what Net Neutrality is and why that changes the Internet as we know it. It’s important to understand that hacking takes place at the intersection of technology and a keen understanding of human vulnerability. It’s important to know that some things really do not compute, but we can get close with a few tweaks (i.e. we still sometimes need human intervention and ingenuity). And Computer Science, even just coding, can help one develop the habit of breaking down a problem into smaller parts. Most problems worth solving are not small. And there are many more things that Computer Science teaches us that help us be better citizens. And that’s why students should learn Computer Science.