Curriculum Q&A

San Francisco’s Cutting-Edge Plan: Bring Computer Science to All PreK-12 Students

By Liana Loewus — August 12, 2015 6 min read
  • Save to favorites
  • Print

Editorial Note: The below interview was previously published in print in an abbreviated format. This version includes additional information about curricula and how computer science will be taught in prekindergarten classrooms.

The San Francisco school district announced last month that it will phase in teaching computer science to all students at all grade levels. It’s an ambitious plan, and one that few other districts are even considering as of now.

In fact, Chicago is the only other major urban district attempting such a feat—and San Francisco’s plan goes even further by bringing the topic to students as young as prekindergarten.

The initiative is particularly notable because the state overall (like many others) has struggled with equity in STEM preparation. A recent report found that 65 percent of public high schools in California offer no computer science courses at all.

Funding for the computer science expansion will come from the district, industry partnerships, and a deal with the Foundation that brought the school system $5 million to increase resources for science, technology, engineering, and math.

The district will begin piloting new computer science classes at some middle schools this fall, and will build out from there to other grades over the next few years.

I spoke with the district’s executive director for STEM, James Ryan, recently about why this became a priority for the district and what implementation will look like. The interview below has been edited for length and clarity.

What was the impetus behind this change? Why did the school board vote to make this happen?

Computer science currently in the district is a few courses students can take in high school, mostly when they’re either juniors or seniors, some as sophomores. But it’s 5 percent or less of the students [taking it] and not even at every high school. In middle school, it’s less than half a percent of kids that get exposed to computer science or coding courses, and essentially zero at the K-5 level.

As we look at who actually takes advantage of computer science in high school, it is a bit of the likely suspects—mostly male, and few Latino and African-American students. We recognize that if we actually want not only more students to take advantage of the computer science opportunities they have in preK-12 schooling, but we want that demographic of those who take advantage to look like the city as a whole, then we’re going to have to start exposure to the subject matter, concepts, and skills much, much earlier. So that’s what we decided to do.

The other driving force is the recognition that this is essentially becoming a new basic skill—that computers being used solely for consumption rather than creativity is not where the marketplace is going to be hiring people. They’re looking for people who can use technology to create.

How much computer science will students get at each grade level?

Our initial structure is that preK through 5th grade will get 20 hours a year—once a week for a semester. That’s considerable exposure. Middle school will get about 45 hours a year, or essentially a quarter-long course. In high school, we recognize that if we actually add another requirement, the plate is already too full and something spills over. So what we’re looking at there is not making it mandatory for everybody to take it, but to make it available at every high school.

Our bet, and we think it’s a strong bet, is that if every student gets exposure to computer science every year through 8th grade, we’re going to get a great many more students wanting to continue on and wanting to do more with coding once they get to high school. We’ll start to bridge those gender gaps of who we see in those courses.

Are you using any off-the-shelf curricula? Writing your own?

Before you write curriculum, you need to do an exercise called developing a scope and sequence—what are the concepts and skills that need to be taught at what grade level?

The Computer Science Teachers Association had a draft one, so we looked at that and then we worked with our own teachers and got partners from local universities—the University of San Francisco, Stanford University, UC Berkeley—to help us figure out, does this make sense? Where should we be moving things around? They really supported us.

There are a number of curricula out there—whether MyCS out of Harvey Mudd College,, CodeHS, Project Lead the Way. We’ll look at all the curricula and pull out the best pieces from all of them, the ones that match our scope and sequence. We’re curating the best.

You’re starting to implement at middle schools and building out from there. When do you expect to be fully implemented across the grades?

I’d love to do not next year but the following year [2016-17], but I don’t think that’s realistic. That’s what I’m aiming for. But less than five years. It might be three years.

I used to work at Apple and one of the terms we used to use was, “You can’t wait until you have all the answers to all the questions to be able to get started.” This is an example of where we’re getting started, and in the process we’ll develop answers to the questions.

What are some of the major challenges associated with implementing at all grade levels?

One of the largest barriers is having enough adults who can teach this at a rich and rigorous level. So we have to “school up” the people who are going be teaching it, and the union partnered with us on that. Through a grant from AFT, they’ve created a position to help us build the teacher capacity to be able to teach this new basic skill.

The other barriers that we’re going to work to overcome are more structural—finding time in the school day that is already [packed] with other topics, making sure we have enough of the tools, the hardware and software, available to do this. Then the other piece is keeping our parent community on board with this—making sure we’re transparent all the way so they value it as well as everyone else valuing it.

So what exactly does computer science look like for prekindergartners?

It’s really interesting in that students aren’t actually writing script or code, they’re learning about conditional statements, learning about a loop or those types of things that mimic what you have in code. You can do that by putting together blocks in certain orders and they light up or scoot along like a centipede. It’s about recognizing if/then statements and how they can manipulate them with these blocks. That builds into actually [making] your own games, writing javascript, building Web pages.

Do you expect to get any pushback on having such young kids learning computer science?

If we teach computer science so that people aren’t seeing the transferability in terms of communication skills, problem solving, seeing structure and syntax to language—whether it’s computer language or the English language—then that’s a fault of our own. To overcome that, we need to make sure we teach in such a way that if somebody comes into it owning [English/language arts] or math, they see how this is in support of ELA or math. We all value students learning creative problem solving. They need to be able to see how this is in support of that and communication and collaboration among students.

At this point, everyone is excited. We are eventually going to hear people who have some trepidation about it, but we haven’t heard it yet.

Do you think you’ll be a bellwether for other districts on this issue?

I hope so. And not because we’re wanting to be the leader of the pack, but because 1) I believe that more students should take advantage of this and, 2) we’re always looking for partners. The more minds we put to this work, the better product it’s going to be for every child. As other districts buy in, we think we’ll get better because we’ll have more people to bounce ideas off of.

Image: From James Ryan

Related stories:

A version of this news article first appeared in the Curriculum Matters blog.