A Joint Call for Research on Why Computer Science Education is Important for K-12

As much as we believe and try to make the case that studying computer science is good for all students, there is a profound lack of research to actually support this contention. With the movement to data driven decision making in every area of education, our inability to advocate for more and better computer science education in K-12 is severely curtailed by our inability to support our own observations and claims.

There are some things we do know which may help us make a more effective argument for K-12 computer science education, or at least make us better K-12 computer science educators.

We know that even pre-teen students have serious misconceptions about what computer science is and that this fundamental lack of understanding makes it very difficult to engage and retain students. Research has shown us that many students believe that computer science is simply using applications well. In one study, after six weeks of learning Scratch, Alice, Pico Crickets, and similar tools, and with Mike Hewner (a PhD student in CS education at Georgia Tech) lecturing them on CS topics, students still came away with the belief (for example) that "Someone who does Photoshop really well is a great computer scientist." They probably think that programmers work in locked window-less rooms and never shower too!

We know that *not* having a CS background can be a serious detriment in a wide variety of professions. In 2005, Mary Shaw, Chris Saffidi, and Brad Myers presented a research paper focusing on the gap between professionals who program as part of their jobs and the number of people actually trained to do this work. These researchers estimated that by 2012 there will be 3 million professional software developers and 13 million people who program as part of their jobs but aren't software developers. Brian Dorn's just-completed dissertation shows why this is a significant problem. In his study of graphics designers who are self-taught programmers, Dorn found that in order to understand code fragments, the designers do things like search for a variable name -- not knowing that that's completely arbitrary and not useful. One of Brian's subjects who was working in JavaScript, for example, stumbled onto a Java web page, and spent 30 minutes poring over language details that were irrelevant for his task

We still don't know, however, whether learning computer science helps with anything else in the curriculum. . We have results showing that learning a visual language *does* transfer knowledge to textual programming later. Chris Hundhausen just did a careful HCI study showing that learners could get started more quickly with a visual programming language (like Scratch, Alice, or Kodu), and that parts of that knowledge did transfer to textual programming. That's a big deal, because it says that Scratch and Alice really are useful for learning CS that will be useful later in life.

There are, however, no recent, scientifically-valid studies that show that students are able to transfer key concepts that they learn in computer science to other learning or that students who study computer science perform better on high-stakes testing in other subject areas (specifically math and science). The last major review of the research in this space (by David Palumbo in 1990) showed little evidence that programming impacted problem-solving in other domains. Neither are there recent studies (the most recent was Taylor and Mountfield in 1991) that determine whether students who study computer science in high school perform better in any area of post-secondary study including computer science. Sharon Carver’s dissertation work in 1988 showed that one *could* teach Logo so that it improved how elementary students solved problems in other areas (e.g., debugging instructions on maps), but little research has followed up on that result.

This lack of research-supported evidence is particularly troubling in light of the current discussions about the importance of "Computational Thinking". While there is strong support for CT in many parts of the community including the National Science Foundation, without a strong and agreed-upon definition and effective assessment measures for students at various learning levels, we don't have hard evidence there that CT is useful let alone necessary for every student.

We do know that we need to do a better job of convincing students that computer science is worth their interest and we might actually be making some progress on this front. For example, many teachers are working hard to help students see the connections between the current technologies that students are interested in (social networking, mobile applications, etc.) and the issues that they care about (the ways that medical agencies use computers to track and control epidemics or how relief agencies depend on computerized logistical systems to get the right sort of aid to the right places at the right time in an emergency). But once again, we have not established scientifically whether these connections motivate students who would not otherwise be interested in computer science.

There are some things we do know and some we can even prove scientifically but the bottom line is that we need more research. We need research that is long-term, broad reaching, and scientifically valid. We need to know what our students are learning and why it matters to them. We need to know how to help them learn better. And we need to know how to do a better job of engaging, inspiring, and retaining them. It is time for computer science education to grow up and prove its value, just as all of the other core disciplines are now having to do.

Note that this post was a joint effort of Chris Stephenson (Executive Director of the Computer Science Teachers Association), Mark Guzdial (professor in the School of Interactive Computing at Georgia Institute of Technology) and myself. The others wrote the good parts. You can also read this post on their blogs. Please join in on the conversation.