In the U.S., computing education in schools has received a tremendous boost lately. At the local, state and national level, there are new initiatives that want to bring computing to all. There has never been a better time to be active in the field, and providers, politicians, researchers, and teachers alike have united under the banner of "CS4All."
Unfortunately, there’s a critical vagueness to that slogan. We want to bring computing to all, but which all do we mean? There’s one natural interpretation—probably the one imagined by most of the general public—which is that "all" means "all students." Unfortunately, there is another interpretation, which is explicit in some cases and implicit in others: "all schools." (We have even been present at events where, in the space of a few sentences, a speaker shifts between the two meanings, perhaps not even aware that they are doing so.) Institutions will optimize towards the targets they are set. The difference between these two targets is vast, and conflating them will have serious impacts on our field and the students we serve. If we want CS4All Students, we will need to solve for equity and scale. There are many initiatives that are designed for one, but not the other.
CS4All Schools—but not all students
The goal of computing in every school is much more easily met (especially since these efforts rarely dictate what it even means to have taught computing). Compared to "CS4All Students," it’s relatively easy to put an elective or after-school program in every school. As long as students must self-select into these programs, we will only exacerbate the field’s already broad inequalities in gender, race, and poverty. Optional computer science (CS) classes must compete against optional classes for every other interest, meaning the students who choose the CS activities are by definition already highly motivated to learn CS. By setting our sights narrowly on CS4All Schools, we sacrifice equity in the name of a specific definition of scale.
Even without considering equity, we need to qualify what kind of scale we desire. Setting up coding clubs at every school in Los Angeles may sound like a tremendous achievement, but what if each club only has 2 students? Scaling access is quite different from scaling exposure.
CS4All Students—but not all schools
Mandating every child take a computing class is a great way to ensure everyone takes CS, but very few states, cities, or even school districts are in a position to hire enough dedicated CS teachers or offer dedicated CS classes to reach every child. Recent declarations from several major districts that "every child will learn to code" often place impossible burdens on schools. Similarly, few schools can afford to offer CS programs that require cutting-edge computers, expensive consumables, or technology that requires significant maintenance.
To truly achieve CS4All Students in a sustainable way, equity and scale are issues that must be built in by design. Similarly, initiatives have to think about differently-abled users from scratch, not just bolt them on as an afterthought. Accessibility needs to be designed into software, curriculum, and pedagogy from the earliest stages.
The "move fast and break things" culture of computing is no help here. Right now, computing education has enormous attention. That day will pass. By the time we get around to focusing on equity, we may have depleted the energy left to overhaul computing curricula. Instead, we have to think this through at the very outset. Another computing principle is that products typically get one shot at gaining users’ attention. For the foreseeable future, this is that one shot for computing education.
Kathi Fisler, Shriram Krishnamurthi, and Emmanuel Schanzer are co-directors of Bootstrap, a family of middle- and high-school curricula that focus on equity and scale issues alongside curricular ones. In addition, Fisler and Krishnamurthi are professors of computer science at WPI and Brown University, respectively.