It’s not every day that the country’s public schools attempt to incorporate an entirely new academic discipline. But with the “CS4all” movement, that’s exactly what’s happening: From PreK through senior year, schools are now racing to bring computer science education to as many students as possible.
States across the country have adopted policies aimed at promoting the trend. Districts in Chicago and San Francisco have gained headlines for requiring that all students in grades K-12 be exposed to computer science. Many elementary and middle schools are working to integrate “computational thinking"—broadly defined as using the concepts and practices of computer science to solve problems—into existing subjects, such as math and science. The participation rate on the Advanced Placement Computer Science exam went up 122 percent between 2010 and 2015.
As the movement has taken off, however, a number of basic questions have yet to be answered, and even more new questions have started to emerge.
How do schools make computer science education more accessible for students from groups that have historically been shut out of the field? What types of lessons and programming environments are best for novice learners? How do we know if students are learning what we want them to learn?
And, perhaps most significantly, why are America’s schools seeking to make computer science education universal in the first place?
All are topics that researchers across the country are actively investigating.
As part of Education Week’s coverage of this year’s annual conference of the American Educational Researcher Association being held here, staff writer Benjamin Herold dove into the work of more than a dozen researchers who are examining the new computer science movement in schools.
The following is a synthesis of six major trends for K-12 policymakers, administrators, and educators to keep an eye on.
1. Why ‘Computer Science for All?’
So far, universal computer science education is a movement without a clearly defined rationale.
At least, that’s the contention of a trio of researchers focused on prodding the K-12 sector to better articulate their reasons for pushing computer science in the first place.
Doing so matters because schools’ vision for why they teach computer science will drive everything from the pedagogical approaches they employ to the curricular materials they purchase, said Sara Vogel, a graduate student at the CUNY Graduate Center in New York.
Based on conversations with 24 New York-based computer science educators, developers, policymakers, and others, Vogel and colleagues Dixie Ching (New York University) and Rafi Santo (Indiana University at Bloomington) developed a taxonomy of seven main arguments that are used to promote K-12 computer science education.
The most prominent is related to economic and workforce development. The idea is that grounding students in computer science will have tangible benefits for them, for industry, and the nation. When this is the operating rationale, the researchers argue, schools will often structure their computer-science programs around cultivating hard technical skills in students, sometimes through partnerships with local companies.
But does that kind of workforce-development lens make sense for 2nd graders? What about the idea that basic computational and technological literacy is now central to preparing children to be engaged citizens? Might computer science be more engaging for more students if the focus were less on how to land a job at Facebook or Google, and more on how to leverage programming and data science skills to solve problems such as climate change, or better local access to healthy food?
The reality, contend Ching, Santo and Vogel, is that if computer science education is truly going to be for all students, the discipline must be capable of serving all the functions of public schoolings—and that K-12 educators and policymakers must be prepared to decide what rationales make the most sense for their schools and districts.
“We’re the generation of people who get to decide what that looks like, and we should do so intentionally,” Vogel said during a pre-conference interview.
2. Should schools try to make computer science education ‘culturally relevant’?
It’s no secret that girls, African-Americans, and Latinos remain woefully underrepresented in both the computer science industry and in high-school computer science courses.
In response, a number of researchers and practitioners have focused on studying computer science education efforts that explicitly aim to boost interest and participation among these students by being “culturally relevant.”
Originally developed by University of Wisconsin-Madison professor Gloria Ladson-Billings, the concept of culturally relevant instruction generally aims at helping students to succeed academically without feeling like they have to distance themselves from their own cultures and backgrounds.
Researchers including Joanna Goode of the University of Oregon have been studying what that approach looks like when applied to computer science programs and materials.
One example: the ‘Exploring Computer Science’ curriculum (which Goode helped develop), now used by roughly 40,000 students and 2,000 teachers per year.
The focus is on helping students learn basic computational concepts and skills, providing them with introductory programming experiences, and encouraging students to see computer science as a field they can succeed in. The curriculum and its accompanying professional development model also aims to connect to students’ everyday experiences, honor their cultural backgrounds, and help them critique social inequities.
Another example: SMASH Academy, a summer program that exposes low-income students of color to tech-sector leaders who look like them and encourages the students to tackle programming challenges that will address needs in their local communities, among other strategies.
Based on case studies, Goode touts culturally relevant computer science education efforts as having a positive impact on student engagement and interest. There are also early signs suggesting that such programs help girls and students of color become more likely to major in STEM fields and see themselves as future computer scientists.
But comprehensive data to support those early findings—and that might shed light on whether a culturally relevant approach helps students better learn fundamental computer science skills and concepts—remain difficult to come by.
3. What about computer science education for students with disabilities?
To date, there’s even less research—and policy discussion—about how to make computer science education valuable for these students.
Special education professor Maya Israel and her colleagues at the University of Illinois are trying, however.
Two of Israel’s recent papers take a case-study approach to better understanding how special-needs children—including students with autism and intellectual disabilities—take part in their elementary school computer science lessons.
There are definitely challenges. Some of the students got frustrated and gave up. Others struggled socially, especially when it came to the collaborative activities that their teachers often emphasized. Keeping the children’s sustained attention was often difficult.
Israel wrote that she went into her research expecting that content-specific supports (e.g., visual directions to help students work through Code.org modules, or scripted guides for how to conduct collaborative conversations) might best help the children with special needs who encountered such struggles.
In at least the limited cases she studied, however, it turned out that what students actually needed was far simpler. And it was often essentially the same as what they needed (and frequently didn’t get) during the rest of the school day: unfettered access to classroom technology. Explicit verbal directions. Examples of how to solve the programming problems being explored in class. Options to try out when they got stuck.
Much more research needs to be done, Israel wrote.
But, she concluded, “Our results contribute evidence that students with disabilities can and should participate in [computer science education] and be provided with the supports they need, just as in all other areas of the curriculum.”
4. Block- or text-based programming environments?
The K-12 computer science phenomenon has been fueled in large part by the popularity and accessibility of “block-based” programming environments, such as Alice and Scratch, that allow students to code by dragging-and-dropping what look like digital puzzle pieces.
The logic behind blocks is that they’re immediately engaging, and there’s a low barrier to entry. Even very young children can begin a form of programming right away.
But do students actually learn the skills and concepts of computer science in those environments? And does what children learn in, say, Scratch, transfer when they begin working in the text-based programming languages used by the pros?
David Weintrop at the University of Chicago is among the researchers who are asking those types of questions.
So far, the researchers have found early evidence that yes, students do learn more off the bat when they start with a block-based programming language. But in one of the studies Weintrop presented at AERA, novice learners who worked with a text-based programming language had more long-term success once they transitioned to Java.
If schools’ goal is to prepare students to become professional computer scientists, there’s a clear lesson to be learned, Weintrop wrote:
“Blocks-based programming environments do not inherently better prepare learners for future text-based programming instruction.”
In an interview at the conference, he added that the K-12 sector clearly has a lot to learn about how to build off the good things that can take place when students work in block-based programming environments.
One way to do that, he said, might be through increased use of “hybrid” programming environments, such as Pencil Code. These allow students to switch seamlessly between blocks and text. In another study presented at AERA, Weintrop found that students in such environments will often move back and forth between the two modes of programming, depending on what they’re working on.
Big picture, Weintrop said, the answer as to which programming environment makes the most sense for K-12 students comes back to the bigger question of “why computer science in the first place?”
If schools’ goal is prepare students to become professional computer scientists, getting them into text-based programming environments sooner rather than later might make sense.
But most experts agree it’s probably unrealistic and misguided to think that all—or even most—students who are exposed to computer science education will become future professionals.
If the goal instead is to help students better understand how the technology around them works, or enable them to participate in the digital public sphere, then block-based or hybrid environments might ultimately prove to be just fine, Weintrop said.
5. Can computational thinking be taught without using computers?
That was the fascinating question raised by Woonhee Sung of Teachers College at Columbia University.
The study she presented at AERA examined whether schools can help young children understand key concepts in computer science through two means: getting kids physically moving in “embodied” activities, and getting them to “program” their peers through verbal commands that the other children then act out physically.
Intriguingly, Sung found (in a relatively small-scale study) that those students who were most physically active and most involved in articulating computational commands to their peers learned more in math and were more accurate and efficient programmers than their counterparts.
Such work is still in its early days, Sung said during her talk in AERA. But the working theory is that “embodied activities” and asking students to take a “programmer’s perspective” could be a powerful combination.
6. How to assess whether novice students are learning computer science and computational thinking?
If there’s going to be a massive public investment in computer science education, educators and policymakers need to be able to determine if students are grasping the key ideas of computer science, building the habits (such as perseverance) and social skills (such as the ability to work in a team) that will serve them well as programmers, and developing abilities that they can apply in a wide variety of circumstances.
In other words, it’s about a lot more than just writing computer programs that work, said Shuchi Grover, a senior research scientist at SRI International, in an interview at AERA.
That means employing multiple measures, including attitudinal surveys, multiple choice questions and open-ended tests, performance tasks, and examinations of the “artifacts” that student create, Grover maintained.
The big goal, she said, should be to get inside the process that students follow. Did they stumble upon a successful programming solution by accident, or did they follow a strategic debugging process? Are they able to take a solution that worked in one situation and apply it in a slightly different situation? Did they develop a deep conceptual understanding, as well as get the chance to express themselves?
Start to answer those kinds of questions, she said, and you can both tell what students have learned, and provide formative feedback that students and teachers can use in real time—to identify what skills need to be reinforced and taught more deeply, for example.
But right now, those kinds of measurement tools are rare for introductory computer science classes. One reason: They’re incredibly time-consuming and labor-intensive to administer and analyze.
In response, part of SRI’s work involves creating programming performance tasks that are intentionally designed to elicit evidence of student understandings—and misunderstandings—of key computer science concepts and principles. And the hope is that at least some of that evidence will come in the form of clickstream data and log files, generated automatically by students as they’re working.
That kind of analytics-driven approach to computer-science assessment is still in its infancy. But in a study that Grover presented at AERA, the group found some promising signs.
“Program files provided valuable information about students’ use of various programming constructs, predefined functions and methods, and abilities for creation of working and generalizable solutions that satisfy given requirements,” the SRI researchers concluded.
“This work demonstrates that programming tasks can be designed thoughtfully, keeping in mind exactly what computational thinking practices we’d like to see evidence of.”
An earlier version of this post inaccurately stated the institutional affiliation of David Weintrop. He is a postdoctoral researcher at the University of Chicago.
A version of this news article first appeared in the Digital Education blog.