Step into Nicole Reitz-Larsen’s classroom in Salt Lake City’s West High School and see students grooving to “Single Ladies” or zigzagging to execute one of LeBron James’s handshakes. You might think it’s a dance class. It’s not.

Reitz-Larsen is teaching computer science through movement. The former German-language and business instructor found that linking difficult concepts such as algorithms and the binary system to students’ interests helps the students grasp a topic that many were leery about before they stepped into her class.

“I’m always thinking about how to sell it to my students,” said Reitz-Larsen, who learned how to teach the complex subject in three months after administrators asked her to pioneer it at West. “You have those kids who say, ‘I’m never going to use this.’”

Young people who are glued to their phones and laptops for many of their waking hours are often apathetic when it comes to figuring out what makes their devices tick. About one of every three girls and half of boys think computer science is important for them to learn, according to a 2020 Google/Gallup, Inc., survey of 7,000 educators, parents, and students.

The finding came four years after President Barack Obama declared that computer science is as essential for K–12 students as reading, writing, and arithmetic. The announcement gave momentum to a computer-science-for-all movement and propelled industry-backed nonprofits such as to the forefront of debates about what should be taught in schools. Joe Biden, both as vice president and during his 2020 presidential campaign, emphasized his support for having K–12 students learn the subject.

The effort is part of a broader attempt to overhaul and update the U.S. education system. Proponents argue that it’s time to amend the public-school curriculum to reflect life skills demanded by the ever-changing Information Age. Such a reframing is necessary, they say, to ensure students can compete for positions focused on cloud computing, artificial intelligence, and mobile-app development.

After Obama’s high-profile endorsement of’s mission, the organization joined educators and other advocates to help persuade state legislatures to allocate millions of dollars toward new laws that advance its vision that “every student in every school has the opportunity to learn computer science.”

Some states made more progress than others. Thirty-seven adopted computer-science standards for K–12, and 20 required all high schools to offer the subject. In Nevada and South Carolina, the discipline is now a graduation requirement. New York City committed to making the subject available at every K–12 school by 2025. New rules such as these helped drive about 186,000 students to take Advanced Placement computer-science tests in 2020, nine times more than in 2010.

A 2020 report from found that 47 percent of the nation’s high schools teach computer science. Despite a growing belief among parents, administrators, and students in computer science’s benefits, and millions of dollars allocated to offering it in K–12 schools, gaps in access and participation among Black, Hispanic, and white students persist.

Today, computer-science-for-all leaders acknowledge they’ve hit a plateau and that they need more-widespread buy-in from lawmakers and educators and increased funding to overcome disparities in the U.S. education system that fall along racial and socioeconomic lines.

“Early on, we got all these early-adopter states, school districts, and teachers raising their hands, and there was a frenzy of activity. Now we’re moving into people being told to do it,” said Ruthe Farmer, chief evangelist for CSforAll, a New York–based nonprofit. “The skepticism around how we’re going to get this done is still there.”

Constraining the movement’s growth are a scarcity of well-qualified teachers, particularly in math and science, and competition for resources in cash-strapped school districts. Hard-fought progress was also stalled by the coronavirus pandemic, when states such as Colorado and Missouri reallocated or froze funding dedicated to broadening access to the subject in K–12.

At the same time, Covid-19 laid bare long-standing inequities in access to laptops and high-speed broadband connections necessary to expand availability across cultures and to English language learners, rural students, and those with disabilities.

Julie Flapan (left) and Jane Margolis caution against schools' adding computer-science class at the expense of other courses.
Julie Flapan (left) and Jane Margolis caution against schools’ adding computer-science class at the expense of other courses.

As advocates remain focused on quantifying computer science’s inroads into public schools, there is a dearth of research that evaluates the effectiveness of different instructional methods for developing such skills. Assessments with which to measure curriculum quality, reach, and relevance are also largely absent.

What’s more, there is no consensus on a robust definition of computer science, with some principals assuming courses that teach office skills will suffice. Some advocates now say it’s time to step back and reassess whether computer-science education really is “for all.”

“We are going really, really fast in trying to get computer science into schools and there absolutely is an urgency,” said Julie Flapan, director of the Computer Science Equity Project at the University of California, Los Angeles.

“We have to have conversations about what’s good for computer science and what’s good for kids. We wrestle with these tensions,” added Flapan, who is also co-director of the CSforCA Coalition. “We need to be mindful about not creating unintended consequences.”

The tradeoffs of adding the subject in K–12 schools are now becoming apparent. In California, computer-science enrollment growth came at the expense of social studies, English/language arts, foreign language, and arts courses, researchers found. The field’s supporters stress the subject must be taught alongside, or integrated into, other core courses, rather than replacing them.

“I don’t think math class or computer science should be an either-or situation,” wrote Jane Margolis, a senior researcher at the University of California, Los Angeles, and author of Stuck in the Shallow End: Education, Race, and Computing, via email. “Students need math, and they need computer science in today’s world.”

Early on, states and schools were eager to adopt computer science, Ruthe Farmer says, but now there is "skepticism."
Early on, states and schools were eager to adopt computer science, Ruthe Farmer says, but now there is “skepticism.”

Or Do They?

Some scholars, though, reject the notion that all K–12 students should learn computer science, comparing the movement to other industry-driven efforts to add vocational training to public schools that led to agriculture, shop, and home-economics classes.

“Why would you teach coding to little kids, or even big kids, unless they want to be programmers?” said Larry Cuban, a professor emeritus of education at Stanford University.

“Because schools are politically vulnerable, this current push for coding for all, for computer science for all, is part of a historical trend to alter schools’ curriculum to meet the needs of a vested interest,” added Cuban, author of The Flight of a Butterfly or the Path of a Bullet? Using Technology to Transform Teaching and Learning.

The debate over the merits of computer science for all in K–12 schools is also occurring globally, said Andreas Schleicher, director for education and skills at the Organisation for Economic Co-operation and Development. He said teaching coding is not useful for K–12 students because coding languages change often.

“There is a debate about this that is similar to the one in the U.S.—you have here in Europe a technology industry that is very much pushing for these skills,” said Schleicher, “and educators are pushing back and saying they don’t want to teach for today’s workplaces; they want to teach for tomorrow’s workplaces.”

Schleicher said he does believe that students should learn how to think computationally, particularly as that kind of thinking applies to data science and artificial intelligence. But, he said, using computers just to teach with the tool of the day, like a pen in the 17th century, or a typewriter in the 1900s, is a “time-bound phenomenon” with little relevance for students’ futures.

These arguments point up a fundamental challenge for proponents of the computer-science-for-all movement: defining what the subject is and how it should be taught.

What Is Computer Science?

There is consensus on what computer science is not—basic computing skills such as Internet searching, keyboarding, and using a spreadsheet—but no universal agreement on what it actually is. There are many different definitions, largely because decisions about what and how students are taught are made at the state, district, and school level. New York emphasizes digital literacy; Texas incorporated the discipline into its technical career standards.

Many proponents of the computer-science-for-all movement, which began in the early 2000s, spend considerable time trying to dispel the notion that it’s solely about learning coding.

Coding languages used in developing software are a tool for computer science, educators say, just as arithmetic is a tool for math and words are a tool for verbal communication. At its core, computer science is about learning how to create new technologies, rather than simply using them, advocates stress. It strives, for example, to teach students how to design the software that will make the spreadsheet.

Just as important as coding, backers add, are foundational concepts such as computational thinking. This approach to computer science provides students with a way to solve problems by breaking them down into parts, and it can be integrated across subjects as early as kindergarten.

In some states, computer-science standards overlap with math standards and involve concepts such as sequencing, ordering, and sorting. Standards can also include science concepts such as devising a hypothesis, testing it, refining it, and perhaps redesigning an experiment after “debugging.”

Just as students should learn how to read, analyze, and write text effectively, they need exposure to computer science to become informed digital citizens who understand how technology impacts their everyday lives, said Yasmin Kafai, a professor at the University of Pennsylvania Graduate School of Education.

Kafai, co-author of Connected Code: Why Children Need to Learn Programming, said that a big part of the world nowadays is the digital public sphere, “where we interface through machines.”

“We want to provide students in K–12 with an understanding of what that actually is—it’s a designed world, and it makes a difference when you understand how it’s designed,” she added. “It helps to understand its limitations.”

Such skills might help young people feel comfortable working with large amounts of data and empower them to push back against the negative impacts of technology.

After defining what computer science means for their districts, administrators need to decide what outcomes they hope to achieve for their students, advocates say. They acknowledge that in the early years of computer-science education, they overemphasized its role in training future programmers. With a shortage of tech workers in many regions, workforce development has been a powerful argument for offering computer science.

Jobs in computer and information technology are among the best paying in the United States, with the median annual salary for these occupations clocking in at $91,250 in May 2020, more than twice the median annual pay for occupations overall. The U.S. Bureau of Labor Statistics projects that such jobs will be among the fastest growing in the next decade. Yet the vocational approach to computer science turns off some administrators, who believe that K–12 education is more than just training young people for jobs.

“We’ve been using the workforce argument a lot when we talk about expanding computer-science education,” said Leigh Ann DeLyser, co-founder and executive director of CSforAll. “Yet the national survey of school administrators from NCES shows that less than half of school administrators see workforce development in the top three priorities for student education. We were putting out a message that was completely mismatched from what administrators thought was the purpose for kids to be in school.”

CSforAll has worked with more than 146 public school districts serving about 2 million students to conduct mapping exercises that helped administrators shape their computer-science curricula to match their school’s vision for what their students should get out of the subject.

Just like states’ definitions of computer science, visions that undergird state standards vary widely. In Nevada, it’s about civic engagement. In Indiana, school reform. In North Dakota, cybersecurity.

These values and others expressed in state guidelines, such as equity, literacy, innovation, and personal fulfillment, are key to developing curricula that appeals to all students, according to a CSforAll study.

The earlier children are exposed to computer science, the more likely they are to take it in middle and high school.
The earlier children are exposed to computer science, the more likely they are to take it in middle and high school.

Curriculum Choices

Computer-science curriculum choices abound, with both commercial programs and free options available. While apparently no one tracks which curricula are used most often, the free introductory courses offered by are very popular and currently used by about 1.3 million teachers.

Schools have also widely adopted curricula offered by Project Lead The Way, Codelicious, and Code Monkey. Some curricula feature easy-to-use block-coding programs, such as the MIT-developed Scratch and Google’s Blockly, that allow programmers to drag and drop blocks containing instructions to create animated stories and games.

Some curricula integrate computer science into other subjects. Bootstrap aligns programming concepts in game design with algebra. Project GUTS helps students create scientific models using web-based software.

Advocates suggest it’s best to cultivate students’ interest in computer science in elementary school, citing research that the earlier children are exposed to the subject the more likely they are to want to take it in middle and high school. Teaching computer science in younger grades is still not common, however.

To broaden access to the subject for high school students, researchers developed more basic curricula. Exploring Computer Science, which includes web design, data analysis, robotics, and programming through Scratch, is used by districts in Los Angeles, Spokane, Chicago, and New York City, among others.

Another course, AP Computer Science Principles, was designed, like Exploring Computer Science, in part to interest more women and minorities in the discipline. Teachers can use a variety of curricula to teach the AP course that includes lessons on how to design and program “socially useful” mobile apps, write and talk about ideas, and collaborate with peers. In 2016–17, the course’s first year, AP Computer Science Principles attracted more students than any other AP course debut in history.

Even as more schools and teachers use such wide-ranging curricula, determining their quality is difficult, noted Allison Scott, chief executive officer at the Kapor Foundation, an Oakland nonprofit that researches diversity in technology. “I think there is still a lot we don’t know about the effectiveness of computer-science curriculum overall, due to a few key challenges,” Scott wrote via email, “including the lack of consistent assessments for computer-science courses and the lack of information on the curriculum landscape.”

A December 2020 report from the College Board found that students who took computer-science principles were three times more likely to choose the major in college than peers who didn’t take the course—16.9 percent versus 5.2 percent. Even so, the nonprofit has no information on which curriculum was used in AP classes—it endorses a range of options for teachers to choose from—and whether any resulted in better outcomes, Scott wrote.

Researchers who study how computer-science curricula is used in elementary and middle schools found that teaching approaches range from very scripted lessons to open-ended ones where students are asked to create projects on a blank page.

“In our study, we found really big gaps in learning—for some kids you give them a blank screen and they are not going to push themselves,” said Diana Franklin, an associate professor in computer science at The University of Chicago. “The way people are teaching and the curriculum they use is not sufficient—there is room for improvement.”

Instead of randomly clicking on blocks in an open-ended approach to coding, she said, students first need to be given an example project that uses prompts to walk them through the steps of programming something on the screen and that requires them to write down their observations and predict what will happen with each step.

To track students’ progress and understanding of the material, the discipline needs written assessments that are validated, Franklin said. Such tests would allow schools to publish computer-science successes, she added. To help students score well on such assessments, schools would be incentivized to improve their curriculum, she added.

There are "really big gaps in learning" when it comes to computer-science courses, researcher Diana Franklin says.
There are “really big gaps in learning” when it comes to computer-science courses, researcher Diana Franklin says.

The Teaching Gap

Often, it’s difficult to implement a computer-science program district-wide, and it falls to teachers to promote the subject in individual schools. Many find the discipline intimidating because they weren’t trained in it in college. If teachers don’t fully understand the content, they won’t be able to teach it well, said Anne Ottenbreit-Leftwich, an associate professor of instructional systems technology at Indiana University Bloomington.

More than one in three public school teachers interviewed for the 2020 Google/Gallup study said the quality of computer-science instruction that students received in school was fair or poor. Researchers who study the subject said that, often, quality suffers because teachers are expected to add computer science to their already jam-packed schedules.

“We have unfair expectations for our teachers—we say they have to have every student this far on literacy and students this far on math,” Ottenbreit-Leftwich said. “There is not enough time in the day for professional development for computer science, then there is not enough time to teach it.”

Teachers who volunteer to teach the discipline or are assigned the responsibility often receive several weeks of training.

“We are very much behind the curve in growing the numbers of computer-science teachers,” said Melissa Rasberry, a consultant with the American Institutes for Research who serves as principal investigator for CSforAll Teachers. “Very few programs are university based—you could count them on one hand at this point.”

Seeking Equity

After teachers are trained, they often find that few students understand what their computer-science classes are about. Stereotypes abound around which groups are suited to excel in the discipline.

“I believe that youth today understand that it is mostly white and Asian males who fill the ranks of the tech industry,” wrote Margolis, the UCLA researcher, via email, “and that this negatively impacts their sense of identity and agency in this field.”

Equitable access to computer science in K–12 schools has proved among the thorniest challenges for the computer-science-for-all push, even as proponents say it’s at the heart of the movement.

Disparities in computer-science course participation are difficult to pin down, since most states don’t collect demographic data on student enrollment in such courses,’s 2020 report found. The number of Black, Hispanic, and Native American students taking AP computer-science exams remains low across many states, with several states reporting zero Black or Hispanic female students sitting for such tests in 2020.

From California to New York, advocates recount how they celebrated hard-fought gains in getting courses introduced in high schools, only to see them populated largely by students from middle- and upper-income families. Chicago Public Schools moved the needle on equity, but only by requiring that all students obtain computer-science credits to graduate.

“We set forth with a goal of changing the face of computing to make sure generally more girls, and more Black and brown kids, were taking computer science, and we’ve seen that,” said Lucia Dettori, an associate dean at DePaul University and a founding member of the Chicago Alliance for Equity in Computer Science. “But I know from talking to people around the country that just adding the class doesn’t mean more people are taking it.”

Educators are working with nonprofits such as Black Girls Code, Girls Who Code, and Latina Girls Code to engage a wider range of students. Researchers found that many girls and students of color are looking to use technology for a larger social purpose.

Extracurricular activities such as Hour of Code, Computer Science Education Week, and robotics competitions helped to expose nearly 7 in 10 middle and high school students to the topic, Gallup found. Such programs can nurture interest in the discipline and perhaps prompt parents and students to demand that it be made part of the curriculum, advocates say.

At Salt Lake City’s West High, Nicole Reitz-Larsen is constantly searching for culturally relevant ways to draw more 7th through 12th graders into her computer-science classes. Like teachers nationwide, she recently turned to CodeScty, which uses hip hop to “develop core competencies in computational thinking and coding,” according to their website.

She also enticed students on their way to eat lunch outside, or in the cafeteria, or in commons area, to participate in “robot challenges.” In one instance, students programmed robots to play in hallway soccer games on “fields” created with painter’s tape on shower curtains.

“People walking in the hallways, or other classes, would want to see what my students were doing, and it would interest them in checking out the class,” Reitz-Larsen said, adding, “we never have enough desks for students.”

The educator also works with to train fellow teachers nationwide and answers their questions about how to develop engaging curricula and convince their colleagues that computer science should be more than an elective.

“It’s been eight years since we started teaching it at West, and it’s taken that long to convince counselors in my school that anyone can do computer science,” said Reitz-Larsen. “Now, whoever is in the hallway, I have the same representation in my classroom—I purposefully make sure students are comfortable in my classes, and I tell them to bring their friends.”

Jennifer Oldham is a Denver-based independent journalist who specializes in coverage of government, inequality, and the environment.