Late last week, President Obama announced a “Computer Science for All” initiative. He called for $4 billion in the upcoming budget to expand CS training for teachers, access to instructional materials, and “effective regional partnerships,” along with some $100 million in competitive grants (because nothing says “for all” like making states and districts compete for their education funding).
The need for such a program was – no surprise – framed in terms of the job market. We hear more and more that the purpose of school should be to bend to the (short-term) demands of employers. This has been a narrative that many in the tech sector have furthered (and I’ve written about repeatedly): there’s (supposedly) a “STEM crisis,” a shortage of high-skilled employees now. In the future it’ll be even more dire, the tech punditry warns.
I’m not convinced (and I’m not alone).
The President’s statement and the accompanying fact sheet present this figure as rationale for the big investment: 600,000 unfilled tech jobs. There’s no source for this number; there’s no citation. The number certainly isn’t one that the Bureau of Labor Statistics provides. (Rather, one of its latest report points to the number of job openings in the health care sector. But there seems to be no mandate that “everyone learn to medical.”) For what it’s worth, I believe the National Association of Manufacturing is the source for that figure the White House gives – or at least, back in 2011, it reported there were “600,000 unfilled manufacturing jobs.”
This questionable statistic about “unfilled tech jobs” helps underscore some of the flawed assumptions that Obama’s “Computer Science for All” initiative rests upon: what exactly constitutes a “tech job”? Are those jobs unfilled because workers do not know computer science? (Interestingly, those with degrees in computer science had some of the highest unemployment rates among STEM majors during the recent economic downturn.) And what exactly does that phrase “computer science” even mean?
There isn’t any consensus on the latter – a failure of vision, says, Gary Stager who has one of the best responses to the President’s announcement and to ed-tech’s amnesia when it comes to computers and education. Citing one definition of computer literacy (from Arthur Luehrmann) dating back to 1984, the phrase:
…must mean the ability to do something constructive with a computer, and not merely a general awareness of facts one is told about computers. A computer literate person can read and write a computer program, can select and operate software written by others, and knows from personal experience the possibilities and limitations of the computer.
If you look around at what schools currently offer in terms of “computer science,” you’ll find classes that teach computer programming, ones that teach computer applications (notably those in the Microsoft Office suite), and ones that only teach “digital citizenship.” (It’s probably worth reiterating here too that there are some significant differences in which demographic of students has opportunities to experience which of these different definitions of “computer science.”) In some places, these “computer science” classes emphasize “computational thinking,” and in others, they emphasize “business skills.” Some schools offer the Computer Science AP class/exam (which focuses on programming in Java); some (starting this fall) will offer the new Computer Principles AP class/exam (which as the name suggests, will focus on foundational computer science principles and not programming per se). Twenty-eight states do allow computer science credits to count towards graduation – but some say it’s equivalent to a math credit, some say it’s equivalent to a science credit, some say it’s equivalent to a foreign language credit.
So what will “Computer Science for All” entail? There are echoes in the initiative’s name of that tired mantra that “everyone should learn to code.” Perhaps “Computer Science for All” will prove to be different than that particular industry-sponsored push – because, if nothing else, “code” is different from (although related to) “computer science.” Perhaps. (Then again, these very same folks are listed as partners in Obama’s new initiative, and we can look to Apple’s commitment to the initiative as an example here of whose interests are really being represented. Apple, according to Wired Magazine will invest “in training workshops and curriculum development, particularly around its Swift programming language.” To be clear, that’s a language for building apps (only) on Apple’s mobile operating system.)
Despite the claims made by various education entrepreneurs that nothing we do or teach in schools has changed for hundreds of years, curricula is always changing and, just as importantly, curricula is always contested. Whose definition(s) of computer science will prevail? What types of students will have rich and meaningful experiences with computers and what types will get repetitive coding exercises? And computer science to what end?
From a Silicon Valley venture capitalist (whose firm has invested in, among other things, the "high-tech skills"-training startup Udacity):
Learn to Code is the opposite of Rock the Vote. Individual self-improvement vs submission to the collective.— Balaji S. Srinivasan (@balajis) February 5, 2016
That's hardly a vision for a democratic future (for education or otherwise)...