Computational Thinking: A Powerful Idea Whose Time Has Come!

Context: In the '80s, With Seymour Papert and the LOGO programming language leading the way, there was a movement to include the teaching of computer programming in K-12. It was felt that in learning to program students would develop enhanced problem solving skills. Towards exploring the role that learning to program might play in enhancing problem solving, ES and several colleagues carried out a number of empirical studies, as described in brief, below.

Consider, then, the following two problems:

  • Version 1:
  • Given the following statement: "There are six times as many students as professors at this university."

Write an equation that represents the above statement. Use S for the number of students and P for the number of professors.

  • Version 2:
  • Given the following statement: "There are six times as many students as professors at this university."

Write a computer program in BASIC that will output the number of number of students when supplied (via user input) with the number of professors. Use S for the number of students and P for the number of professors.

(Note: in both versions the students wrote their answers on the sheet of paper that was provided. So, while the students in Version 2 wrote a computer program, they didn’t actually type the program into the computer and hit "run.")

When we asked undergraduate engineering students to solve problems of the above sort, what do you think we found?

  • More undergraduates accurately answered Version 2 (write a program) than answered Version 1 (write an algebraic equation).

(And yes, the difference was statistically significant, p < .005 in fact.)

Say what?  Isn’t the equation in both versions the same? Yes: S = 6P

As is often the case in science, being surprised is a good thing. And, boy oh boy were we surprised!

Why, then, would the undergraduates be more likely to provide the correct equation in the programming context than in the algebraic context?  We hypothesized several possibilities for that finding:

  • Perhaps students were seeing the S and P as "labels," as in 3feet = 1yard. The equals sign is used somewhat sloppily in the labels situation to denote a relationship, not a computation. However, in programming, there is no ambiguity in the semantics of the equals sign: The equals sign is really a replacement operation: the value of the equation to the right of the equals sign is stuffed into the value of the variable to the left of the equals sign.
  • Perhaps in the programming case, students were "running" the computer programming and trying it out on specific values. In programming, testing with specific values is a strategy that is explicitly taught. In algebra — not so much emphasis is placed on testing with specific values — to say the least.
  • Perhaps in the programming case, students were "decomposing" the computation into steps. For example, in more complex problems such as "for every 6 people who drank hard liquor, there were 11 people who drank beer" we saw some students writing two statements:
X = B * 6
H = X / 11
  • Indeed, some students did break the task into sub problems, with an intermediate variable. In programming, "decomposing" a problem into pieces is a strategy that is also explicitly taught.
  • Or, perhaps the fact that in programming an explicit operator, e.g., * for multiply, is required in an equation and that explicit notation requirement makes students think clearly about variables and values of variables.

We carried out more studies comparing the solving of equations via a writing program versus via writing an algebraic equation. And we analyzed the videos of interviews with the subjects where we asked them to think aloud as they solved the problems.  Upshot: The above hypotheses were in fact all potential explanations: some students didn’t really perceive the letters to be variables, but rather they saw the letters as labels and the equals sign as stating a relationship. Similarly, some students did "run" the program they wrote on paper, testing the program with specific numeric values, while others did decompose the equation into sub problems.

While we were encouraged by these studies — encouraged that we were seeing some positive impact of learning to program, the movement to teach programming hit a wall. Two researchers, Gavriel Salomon and David Perkins, published a now classic paper in 1987 that reviewed the research literature on "transfer" and found that the "transfer" of skills from programming to other problem solving contexts is not likely to occur — unless students are explicitly instructed on how to make those transfers to each of the different contexts.

So, if programming skills don’t magically transfer, then, besides getting a good job, why learn to program? And, more specifically, what was going on when those students were able to more effectively write an algebraic equation while writing a program? The seeds were there in the 80’s, but it’s taken 30 years for the understanding to come forward.

While Papert used that term "computational thinking" in 1980, it wasn’t until Dr. Jeannette M. Wing, a professor at Carnegie-Mellon University among other positions, wrote an article in 2004 entitled "Computational Thinking" that the idea caught on. In Wing’s words:

  • "Computational thinking involves solving problems, designing systems, and understanding human behavior, by drawing on the concepts fundamental to computer science… Computational thinking is thinking recursively… Computational thinking is using abstraction and decomposition when attacking a large complex task… Computational thinking is thinking in terms of prevention, protection, and recovery from worst-case scenarios through redundancy, damage containment, and error correction… etc."

Computational thinking skills are strategies for solving problems… are habits of mind… are ways of thinking.

So what does computational thinking have to do with the "students and professors" problem? Well, most of the reasons why students in the programming context were able to generate a correct equation were really computational thinking strategies, e.g., being explicit, testing, problem decomposing. Ala Salomon and Perkins, it’s not that the computational thinking skills learned while learning to program transferred to algebra, it’s that the computational thinking skills helped students understand specific algebraic concepts (e.g., variable, equation).

The implications of this way of thinking about the value of computational thinking, then, is most provocative: learn computational skills and in that context one might be able to learn concepts from other areas – areas (e.g., algebra) that have proven to be troublesome for some if not many learners. Interestingly, the National Science Foundation has a competition right now where it is looking for research proposals that integrate STEM areas with computational thinking!

  • "A proposal may focus on studies on the effects of integrating computational thinking with STEM disciplines or the challenges of implementing these potentially disruptive educational interventions."

Hmmm: "… disruptive education interventions…" It was worth the wait!

Acknowledgement: ES wishes to thank John Clement and Jack Lochhead for their valuable collaboration while we were together at the University of Massachusetts/Amherst – Happy Valley.

Featured

  • stylized illustration of two children engaged in engineering activities, one using a tablet and the other assembling mechanical parts like gears and pulleys, set against a colorful background with abstract shapes

    Applications Open for DiscoverE STEM Grant Opportunities

    Discover Engineering is accepting applications for Engineers Week and Girl Day 2025, two grant opportunities dedicated to inspiring the next generation of innovators through experiential learning in the field of engineering.

  • blue, green, and yellow swirling lines of light form a dense, interconnected network

    New Amazon Nova Models Ramp Up Generative AI Performance

    Amazon Web Services (AWS) has unveiled Amazon Nova, a cutting-edge suite of foundation models (FMs) for generative AI.

  • A young person sitting on a couch in a bright living room during the daytime, holding a tablet, with sunlight streaming through large windows and pastel-toned furniture.

    Balancing Screen Time and Student Wellness

    Student mental health is in crisis, and excessive screen time is a significant factor. Here are four ways to help students find and maintain a healthy balance with technology.

  • stylized illustration of a global AI treaty signing, featuring diverse human figures seated around a round table

    First Global Treaty to Regulate AI Signed

    The United States, United Kingdom, European Union, and several other countries have signed "The Framework Convention on Artificial Intelligence, Human Rights, Democracy, and the Rule of Law," the world's first legally binding treaty aimed at regulating the use of artificial intelligence (AI).