Citekey: @Denner2011

Lee, I., Martin, F., Denner, J., Coulter, B., Allan, W., Erickson, J., … Werner, L. (2011). Computational thinking for youth in practice. ACM Inroads, 2(1), 32. doi:10.1145/1929887.1929902



Key questions include: ■ What does computational thinking for youth look like in practice? ■ How can we support growth in computational thinking, both in and out of school? (p. 1)

INTRODUCTION Computational thinking (CT) is a term coined by Jeannette Wing [11] to describe a set of thinking skills, habits and approaches that are integral to solving complex problems using a computer and widely applicable in the information society. (p. 1)

CT involves defining, understanding, and solving problems, reasoning at multiple levels of abstraction, understanding and applying automation, and analyzing the appropriateness of the abstractions made. CT shares elements with various other types of thinking such as algorithmic thinking, engineering thinking, design thinking, and mathematical thinking. As such, CT draws on a rich legacy of related frameworks as it extends previous thinking skills. (p. 1)

We found the terms of abstraction, automation, and analysis [3] to be useful for understanding how youth can use CT to approach novel problems. Abstraction is “the process of generalizing from specific instances.” In problem solving, abstraction may take the form of stripping down a problem to what is believed to be its bare essentials. Abstraction is also commonly defined as the capturing of common characteristics or actions into one set that can be used to represent all other instances. Automation is a labor saving process in which a computer is instructed to execute a set of repetitive tasks quickly and efficiently compared to the processing power of a human. In this light, computer programs are “automations of abstractions.” Analysis is a reflective practice that refers to the validation of whether the abstractions made were correct. One might ask “Were the right assumptions made when narrowing the problem to its bare essentials?”, “Were important factors left out?” or “Was the implementation of the abstraction or automation faulty?” (p. 2)

2.1 Modeling and Simulation (p. 2)

Dave Moursund [6] suggests “the underlying idea in computational thinking is developing models and simulations of problems that one is trying to study and solve.” In Project GUTS (Growing up Thinking Scientifically) middle school students actively engage in computational thinking as they design and implement models of local relevance and then use the models to run simulations. (p. 2)

3.2 Three-stage Progression “Use-Modify-Create” (p. 4)

This progression, called Use-Modify-Create, describes a pattern of engagement (see Figure 5) that was seen to support and deepen youth’s acquisition of CT in the authors’ NSF projects. It is based on the premise that scaffolding increasingly deep interactions will promote the acquisition and development of CT. In the use stage, students are consumers of someone else’s creation. For example, they run experiments using pre-existing computer models, run a program that controls a robot, or play a ready-made computer game. Over time they begin to modify the model, game or program with increasing levels of sophistication. (p. 4)

Computational thinking projects like these support an iterative cycle of refinement that enables increasing a sense of agency, where learners are empowered to imagine, create, play, share, and reflect on what they are learning [9]. (p. 4)


3.1 Rich Computational Environments (p. 4)

Rich computational environments are ones in which the underlying abstractions and mechanisms can be inspected, manipulated and customized. (p. 4)

Moving through this progression, it is important to maintain a level of challenge that supports growth while limiting anxiety. As Repenning [8] notes, students can maintain their sense of cognitive flow [1] as they progress iteratively through a series of projects. In this work, students tackle progressively higher design challenges as their skills and capacities increase. (p. 4)

3.3 Other Domains (p. 5)

EcoScienceWorks (ESW) is a program in Maine that leverages the State’s one-to-one laptop initiative to engage students with environmental simulations as part of the school day science curriculum. (p. 5)


The first key point is that existing definitions of CT can be applied to K-12 settings. (p. 5)

However, the field requires systematic assessment procedures that build on existing research from the learning sciences in order to describe the developmental progression of these three CT constructs. (p. 5)

The second key point is that CT takes place on a continuum. The use-modify-create progression is offered as a framework for educators and researchers that are looking at how CT develops (p. 5)

This paper builds on existing efforts to describe the scope and nature of CT [7] as well as the concepts involved in CT and how youth should be able to use those concepts [2]. (p. 6)

[2] Computational Thinking Thought Leaders Meeting. (2010). Computer Science Teachers Association & International Society for Technology in Education. April 18-19, 2010. (p. 6)

[3] Cuny, J., Snyder, L., and Wing, J. (2010). Computational Thinking: A Definition. (in press) [4] Henderson, P.B. (2009). Ubiquitous computational thinking. Computer, 42(10), 100-102. Available online at Accessed June 29, 2010. [5] Lu, J.J. & Fletcher, G.H.L. (2009). Thinking about computational thinking. ACM Special Interest Group on Computer Science Education Conference, (SIGCSE 2009), (Chattanooga, TN, USA), ACM Press. Available online at M&coll=portal. Accessed June 29, 2010. (p. 6)

[6] Moursund, D. (2009). Computational Thinking. IAE-pedia. Available online at Accesed August 8, 2010. (p. 6)

[10] Snyder, L. (2010). Seven Practices of Computational Thinking. Available online at http:// accessed August 2, 2010. (p. 6)

Blog Logo

Bodong Chen



Crisscross Landscapes

Bodong Chen, University of Minnesota

Back to Home