
In 1980, Seymour Papert wrote Mindstorms: Children, Computers, and Powerful Ideas, which described computer programming as a method for teaching both disciplinary content and metacognitive skills. Papert asserted that computers should be tools for creation and stimulators of metacognition; rather than “a means of putting children through their paces”. Many of the skills that Papert believed students developed while working in his LOGO programming environment would later be recognized as the core practices of the software development community. In her seminal, 2006 article, Jeannette Wing labeled these practices computational thinking (CT) and argued that they are as important as basic literacy and mathematical proficiency. Importantly, Wing identified CT as being distinct from the field of computer science (CS), especially in that CT entails conceptualizing rather than programming, fundamental skills rather than rote syntax skills, and human thought based in creativity, not programmed computer-thought. Over the next decade, a number of computer scientists and education researchers worked to define the CT practices fundamental to the future of work.
Within the CT community, there is not yet a single consensus framework for CT and there is a fair amount of division about whether or not CT education must include programming. Some academics and educators contend that teaching students CT must include teaching students to program, while others follow the lead of Wing and argue that CT is more conceptual and happens at a level above programming. In essence, that CT is a way of approaching and tackling complex problems, and that programming is one tool in the CT toolkit. Those taking a more expansive view of CT would agree that teaching students to program is important, but that there is more to CT than students learning to code.
Whether code-based or code-free. a body of research is growing that shows that infusing science curriculum with CT enhances student learning of both. Multiple studies have provided evidence that students who learn science content in conjunction with or through CT practices learn the science content more deeply and are better able to think critically about the topics at hand. In addition, this line of research has also shown that students who engage in CT-infused science experience increased confidence in working with complex problems, improved ability to think about complicated systems and greater interest in the field of computer science. Finally, integrating CT in science classrooms has been shown to strike at the heart of one of the thorniest issues facing all STEM fields; diversity. Historically, computer science majors and careers have been primarily held by White males. At the secondary education level, schools have either not been able to offer courses in computer science or the available computer science classes have been dominated by White males. Infusing CT into science curriculum broadens access to these critical skills by ensuring that students of all identities have a chance to experience CT during the course of their education.
“Computational thinking is the thought processes involved in formulating a problem and expressing its solution(s) in such a way that a computer – human or machine – can effectively carry out.” – Grover & Pea
If infusing CT is a critical skill for students and integrating CT into science curricula is one of the most promising approaches for exposing students to these skills, one must ask “What skills are included under the umbrella of computational thinking?” As mentioned above, strong consensus does not yet exist around a single set of skills, though many are beginning to agree upon the skills and practices of pattern recognition, abstraction, problem decomposition, algorithm development, and testing and debugging. Grover and Pea provide an excellent overview of each of these skills in their recently released article Computational Thinking: A Competency Whose Time Has Come.

David Weintrop and colleagues provide one of the most useful tools for science teachers interested in integrating CT into their science classrooms, the Computational Thinking in Mathematics and Science Taxonomy. Through the development of their taxonomy, Weintrop and his team sought to move CT education away from an exclusive focus on programming and towards broad integration of a variety of CT skills across a number of disciplines (As envisioned in the Next Generation Science Standards). Their work provides one of the clearest articulations of the role of CT in science classrooms.
On a practical note, both of the above mentioned and linked papers from Grover and Pea and Weintrop et al. provide useful introductions to computational thinking and clear descriptions of each of the skills that they identify as having a home under the CT umbrella. For those who prefer to jump right in, Uri Wilensky’s team at Northwestern have developed the CT-STEM platform as a one-stop-shop for teachers who both want to learn about CT and integrate it into their classrooms. Beyond providing a wealth of curricular resources, the CT-STEM team has developed a platform that teachers can use to assign CT-infused science assignments to their students.