ArticlePDF Available

Abstract and Figures

Computational thinking (CT) has been described as the use of abstraction, automation, and analysis in problem-solving [3]. We examine how these ways of thinking take shape for middle and high school youth in a set of NSF-supported programs. We discuss opportunities and challenges in both in-school and after-school contexts. Based on these observations, we present a "use-modify-create" framework, representing three phases of students' cognitive and practical activity in computational thinking. We recommend continued investment in the development of CT-rich learning environments, in educators who can facilitate their use, and in research on the broader value of computational thinking.
Content may be subject to copyright.
standard articles
32 acm In ro ad s 2011 Marc h Vol. 2 No. 1
Irene Lee Fred Martin Jill Denner Bob Coulter Walter Allan
Jeri Erickson Joyce Malyn-Smith Linda Werner
1INTRODUCTION
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. Thinking computation-
ally draws on the concepts that are fundamental to computer science,
and involves systematically and effi ciently processing information and
tasks. CT involves defi ning, understanding, and solving problems,
reasoning at multiple levels of abstraction, understanding and apply-
ing 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.
This paper aims to help computing and STEM (science, technol-
ogy, engineering and mathematics) educators understand computa-
tional thinking (what it looks like “in practice”, how it connects with
their existing curriculum, and how to nurture computational think-
ing in today’s youth) by sharing rich examples from National Science
Foundation funded Innovative Technology Experiences for Students
and Teachers (ITEST), Academies for Young Scientists (AYS) and
Research and Evaluation on Education in Science and Engineering
(REESE) programs. The examples provide a lens through which one
can consider the implications for learning and teaching computational
thinking in grades K through 12.
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?
The examples and recommendations presented within this pa-
per were collected by the ITEST working group on Computational
Thinking. All of the authors are members of this community by virtue
of their involvement with current or previous ITEST programs. This
work is intended to complement The National Academies “Compu-
tational Thinking for Everyone” workshop series and the work cur-
rently being carried out by the Compuer Science Teachers Association
(CSTA) and the International Society for Technology in Education
(ISTE) as part of the Computational Thinking Thought Leaders
project, and to further the discussion by presenting examples of com-
putational thinking in action within programs for youth in both for-
mal and informal settings.
2COMPUTATION THINKING FOR
YOUTH IN PRACTICE
In this paper, we respond to several recent calls to describe CT
among youth and to identify strategies for integrating CT into
K-12 settings [4][5][7]. We apply and build on existing descrip-
tions of CT, which have been based on thinking like a computer
scientist in college and beyond. Specifi cally, we offer examples of
what computational thinking looks like among youth from a range
of cultural and socioeconomic backgrounds, both in and out of
school. Examples are drawn from three domains: modeling and
simulation, robotics, and game design and development. Across
these domains, we have identifi ed commonalities in the nature of
youth’s computational thinking.
Computational thinking (CT) has
been described as the use of abstraction, automation,
and analysis in problem-solving [3]. We examine
how these ways of thinking take shape for middle
and high school youth in a set of NSF-supported
programs. We discuss opportunities and challenges
in both in-school and after-school contexts. Based on
these observations, we present a “use-modify-create”
framework, representing three phases of students’
cognitive and practical activity in computational
thinking. We recommend continued investment in
the development of CT-rich learning environments, in
educators who can facilitate their use, and in research
on the broader value of computational thinking.
Computational
Thinking for
Youth in Practice
standard articles
2011 Ma rch Vo l. 2 No. 1 acm Inroads 33
Irene Lee Fred Martin Jill Denner Bob Coulter Walter Allan
Jeri Erickson Joyce Malyn-Smith Linda Werner
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 spe-
cifi c 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 defi ned 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
effi ciently compared to the processing power of a human. In this light,
computer programs are “automations of abstractions.” Analysis is a re-
ective 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?” Table 1 provides a summary of these domains
In the next sections, we use examples from three out-of-school
time (OST) youth programs to illustrate what the three aspects of
CT look like in practice, in each of the three domains. Each of these
programs offers opportunities for middle and high school students
to engage in computational thinking. The students come with a
range of computer experience and confi dence, including students
with limited English and no computer at home, as well as students
who have grown up tinkering with technology. The hands-on and
student-driven nature of the programs is designed to allow students
at all levels to engage in CT.
2.1 Modeling and Simulation
The rst domain we consider is modeling and simulation. Dave
Moursund [6] suggests “the underlying idea in computational think-
ing is developing models and simulations of problems that one is
trying to study and solve.” In Project GUTS (Growing up Think-
ing Scienti cally) middle school students actively engage in com-
putational thinking as they design and implement models of local
relevance and then use the models to run simulations. Students used
the process of abstraction to narrow the problem down to something
that could be implemented on the computer using StarLogo TNG,
an agent based modeling tool. Restrictions imposed by the model-
ing environment include an upper bound on the number of agents
(4076) and a limit on the size of the environment (101 by 101 cells).
Within these parameters students designed and created models as
testbeds to answer questions about real-world concerns. For exam-
ple, as part of the Project GUTS unit on Epidemiology, a group of
students wanted to know if a disease would spread throughout their
school population given the layout of the school, the number of stu-
dents, the movement of the students, the virulence of the disease,
and the number of students initially infected. See Figure 1.
Mapping this question and scenario onto an agent based model,
agents were used as abstractions or simplifi ed representations of stu-
dents and the number of agents matched the number of students
in their school. Agents were given movement behaviors that were
abstractions of moving from classroom to classroom, and decisions
were made about which features of the school were important to take
into consideration before a 3-D virtual model of the school building
was created. For instance, students decided that recreating the num-
ber and location of passages and doors at the school was important.
Additionally students modeled the characteristics of the contagion
being spread: how often contact between students spread the disease
from one to the other and how many students were initially infected.
To make the model a testbed capable of running experiments, it was
equipped with interface sliders to control individual variables. One
slider controlled the number of initially infected agents and another
controlled the virulence of the contagious element. See Figure 2.
Automation was used in a number of ways. The “program” itself
automated “stepping through” or advancing the simulation through
the use of a run loop that updated each agent’s state, location, and
color (representing sick or healthy) at each time step. Because
agent-based models involve randomness, for example, the initial
location of infected individuals is chosen randomly, they tell us the
probabilities of certain outcomes rather than predictions. Automa-
tion was used to execute multiple “runs” of the experiment with
Figure 1: GUTS club members creating ecosystem models in Chicago.
TABLE1: EXAMPLES OF CT IN THREE DOMAINS
Abstraction Automation Analysis
Modeling &
Simulation
Selecting
features of
real-world to
incorporate in a
model
Time stepping
using a
model as an
experimental
testbed
Were the
correct
abstractions
made?
Does the model
refl ect reality?
Robotics Design robot to
react to a set of
conditions
Program
checks sensors
to monitor
conditions
Are there
situations that
were not taken
into account?
Game
Design &
Development
Games are
abstracted into
a set of scenes
containing
characters
Game responds
to user actions
Do the
elements
incorporated
make the game
fun to play?
Computational Thinking for Youth in Practice
continued
standard articles
34 ac m In ro ad s 2011 Marc h Vo l. 2 N o. 1
the same parameter settings in order to attain the probabilities of
certain outcomes. Once the simulations were run and data on the
number of infected individuals after a xed number of time steps
were collected, students refl ected on the outcomes. In some cases,
the students were able to analyze their models, the assumptions
and abstractions made, by comparing the model generated data
with data collected within their schools. For instance, one group
compared the data generated using their model that simulated the
spread of swine u with attendance/absenteeism records collected
during a period of time when swine u was known to be circulating
within their school. Analysis of this sort may lead to reconsidera-
tion of what factors to include in a model and cycle back to the
beginning of the process described above.
2.2 Robotics
A second domain that promotes computational thinking with pre-
college students is robotics. In a robotics project, student programmers
design and program robots and other physical devices with embedded
code. They need to think about how the robotic agent will interact
within its world, based on factors such as its sensor values and the ef-
fects of its actuators. As
they do this, the student
makes choices of how
their programming will
connect these processes
together to achieve the
desired results.
In the iCODE
project (Internet Com-
munity of Design En-
gineers), middle and
high school students
complete a variety of
microcontroller-based
projects, beginning with
a simple project with
programmable ash-
ing lamps, to a musical
memory game, to fully
autonomous (self-con-
trolled) robots that enter
a contest. See Figure 3.
Abstraction takes place as students design robots to react to a
limited set of conditions that may be encountered in the real world.
Students think about how to sense the world, and how those stim-
uli will be abstracted as numerical or true-false values inside the
control program. Automation occurs as the students’ programs are
executed by the embedded computing device. Students perform
analysis when they decide whether or not the robot operated as
expected in the real-world environment. If the robot “misbehaves,”
it may either mean that their implementation of their control idea
is faulty, or that conditions were encountered that were not taken
into account during the abstraction phase.
2.3 Game Design and Development
A third domain in which computational thinking takes place is
computer game design and development. In the iGame after-
school program, middle school students engage in computational
thinking by designing, programming, and testing computer games
of their choosing using Storytelling Alice (SA). SA, as with many
other programming languages, allows students to create their own
abstractions. Because SA is a programming environment that al-
lows the creation of 3D animations, students can then test highly
complex abstractions quickly and precisely. To create their game,
students build a group of scenes, where each scene contains charac-
ters, and each character has behaviors. Students choose from an ar-
ray of character attributes and behaviors selecting only those details
appropriate for the virtual world they are creating.
Students can defi ne new methods representing behaviors not
built into SA. Into these methods, students can place a combina-
tion of existing behaviors and changes to character attributes. In
iGame, many student-created methods were simple combinations
of sequential commands, but creating methods often requires an
understanding of conditionals, iteration, and sequential and paral-
lel execution. For example, in the Labyrinth of the Turtle game, a
student programmed a character to dance using a series of parallel
movements and vocalizations.
Games often require multiple similar characters to perform the
same action. Students can “scale up” their abstraction creating a
list data structure containing these similar characters. Then they
can program similar behaviors for these characters by using special
instructions that iterate through a list data structure. For example,
in the Zombie Invasion game, a student programmed a group of
zombies to wait and then start moving at the same time. As the
player clicks on each one, it is programmed to disappear. However,
most game programmers in iGame choose to repeat commands
they understand, rather than learn to use lists.
Students in iGame engage in analysis when they judge whether
or not their abstractions were correct and effi cient. Analysis of cor-
rectness focuses on whether they produced the game they intended,
i.e., whether the game plays the way they want it to or whether the
game that was designed to be fun was, in fact, fun. Analysis of ef-
ciency involves creating the simplest code to achieve the desired
behavior. Analysis takes place during the process of testing and
debugging their game, and students often need an external motiva-
tor to focus on effi ciency because when their game is working, they
see little reason to edit the code. Students also play-test their peers’
Figure 2: Students’ customization of contagion model to refl ect school layout.
Figure 3: Two iCODE students display their
Sumo robot.
standard articles
2011 Ma rch Vo l. 2 No. 1 acm Inroads 35
games, and analyze them in terms of playability, and whether they
have created the best (most effi cient, most believable, or most fun)
abstractions.
2.4 Other Domains
The domains mentioned are by no means a comprehensive list.
There are many other domains such as designing and program-
ming webpages, cell phone apps, etc. that have potential to develop
CT in youth. Common among these examples is the active use
of key computational thinking concepts: abstraction, automation
and, to various extents, analysis, by youth within middle school
programs. Through these examples, we posit that not only is CT
possible at the middle school level, it can easily be embedded
within activities that encourage youth to be creators, innovators,
and problem-solvers. Computational thinking projects like these
support an iterative cycle of refi nement that enables increasing a
sense of agency, where learners are empowered to imagine, create,
play, share, and refl ect on what they are learning [9]. In all of these
projects, the end result is a unique product created by the students.
3SUPPORTING GROWTH IN
COMPUTATIONAL THINKING
Based on our experiences with youth learning CT both during the
school day and out- of- school contexts, we suggest concrete steps that
can be taken to support the development of computational thinking.
3.1 Rich Computational Environments
The fi rst is the use of rich computational environments. Rich com-
putational environments are ones in which the underlying abstrac-
tions and mechanisms can be inspected, manipulated and custom-
ized. For example, consider the differences between SimCity and a
model in StarLogo TNG. In SimCity, a user may add buildings to
a city and see correlations between adding buildings and CO2 pro-
duction but the underlying formulae and model are hidden from
view. Contrast that with a StarLogo TNG environment in which
the user can “look under the hood” and inspect the causal rela-
tionships and abstractions that are embedded in a model. The rich
computational environment is one in which the user can develop
CT skills and transform from user to creator. See Figure 4.
3.2 Three-stage Progression “Use-Modify-Create”
Second, we propose using a three-stage progression for engaging
youth in CT within these rich computational environments. This
progression, called Use-Modify-Create, describes a pattern of en-
gagement (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 ex-
periments 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. For example, a student may initially want to
change the color of a character or some other purely visual attribute.
Later the student may want to change the character’s behavior in a
way that entails developing new pieces of code. Modifi cation of this
kind necessitates an understanding of at least a subset of the abstrac-
tion and automation contained within a program, model or game.
Through a series of modifi cations and iterative refi nements, new
skills and understandings are developed as what was once someone
else’s becomes one’s own. As youth gain skills and confi dence, they
can be encouraged to develop ideas for new computational projects
of their own design that address issues of their choosing. Within
this “create” stage, all three key aspects of computational thinking:
abstraction, automation and analysis, come into play.
Moving through this progression, it is important to maintain
a level of challenge that supports growth while limiting anxi-
ety. As Repenning [8] notes, students can maintain their sense
of cognitive ow [1] as they progress iteratively through a series
of projects. In this work, students tackle progressively higher de-
sign challenges as their skills and capacities increase. Activities
that were once “too hard” and were anxiety-inducing become
possible with appropriate, incrementally challenging experiences.
Conversely, boredom will set in if challenges don’t keep pace with
growing skills [8]. While we are advocating use of this three-stage
progression to foster growth over time and with increasing capac-
ity, we also raise a caution about taking it too literally. Just as an
early teenage youth is moving from childhood to adolescence in
ts and starts, there are no clean break points from using to modi-
fying to creating. Youth may transition back and forth from users
to modifi ers to creators.
Figure 4: Inspecting the mechanism for infection in a basic contagion
model in StarLogo TNG.
Figure 5: Use-Modify-Create
Learning Progression
Computational Thinking for Youth in Practice
continued
standard articles
36 ac m In ro ad s 2011 Ma rc h Vo l. 2 N o. 1
3.3 Other Domains
The examples of CT in youth programs described thus far took
place after school, either during weekends, holiday breaks, and/or
over the summer. 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. This project also exposes students to simple
programming challenges as a way of introducing them to the com-
putational thinking that underlies the simulations. Through guided
experimentation, EcoScienceWorks deepens students’ understand-
ing of both ecology and computer modeling.
The success of the project has been partly a result of address-
ing some of the challenges in introducing computational think-
ing into the classroom head on. For instance, because CT is not
evaluated by standardized testing, it is diffi cult in the current
educational climate for teachers to teach CT concepts directly.
The ESW staff addressed this constraint by designing a simula-
tion-based ecology curriculum in which the CT portions of the
curriculum were what students had to do in order to fulfi ll ex-
plicit content learning goals. That is, an ecology curriculum that
arguably required CT was designed to replace the existing cur-
riculum that focused on content transfer. With this pedagogical
design, the required core ecology concepts could be covered in
much greater depth, and CT was fostered through the use and
understanding of computational models.
While this work offers a promising example, it is important to rec-
ognize the resources that were necessary in order for it to be success-
ful. Infrastructure was not a signifi cant obstacle as each student had
access to a laptop, district support had been established, and intensive
support was provided by the project staff in the form of professional
development and ongoing assistance. Transformative applications of
CT can work in schools with all of these ingredients in place.
Implementing CT during the school day is a compelling vision,
but there are substantial challenges to this, including existing cur-
riculum standards, lack of opportunities for teachers to learn CT as
part of their professional development, and lack of access to neces-
sary infrastructure. Consequently, much of the work in CT with
youth remains in out-of-school environments. As shown in this
paper, new opportunities for fostering computational thinking are
emerging, and NSF-funded programs are actively exploring ways
in which computational thinking works in both in-school and out-
of-school environments.
4CONCLUSIONS
The call for integrating CT into K-12 settings has
been growing increasingly louder, despite the lack of descrip-
tions of what learning to think computationally actually looks like
among youth. In this paper, we have contributed to efforts to defi ne
and support CT for youth by using examples from several youth
projects to make two key points.
The fi rst key point is that existing defi nitions of CT can be ap-
plied to K-12 settings. The examples show that youth can engage
in key aspects of computational thinking within programs focus-
ing on modeling and simulation, robotics, and
game design and development. Students from
a range of backgrounds are able to use abstrac-
tion, automation, and analysis to create original
products when given access to rich learning en-
vironments that include skilled teachers, devel-
opmental considerations, and usually include
new technology. However, the fi eld requires
systematic assessment procedures that build on
existing research from the learning sciences in
order to describe the developmental progres-
sion of these three CT constructs. Some of the
authors are currently testing a variety of assess-
ment approaches.
The second key point is that CT takes place
on a continuum. The use-modify-create pro-
gression is offered as a framework for educa-
tors and researchers that are looking at how
CT develops, and how that development can
be supported. But research is needed to understand why students
are thinking at different levels of abstraction, automation, and
analysis. These differences may be a function of students working
in different phases of the use-modify-create learning progression.
For example, we suggest that moving from modifying to creating
an original project requires increasing levels of abstract representa-
tion and understanding. Similarly, simple analysis includes testing
and debugging a program, while a deeper level of analysis would
involve trying to determine if a model can be validated against real-
world data. As a foundation moving forward, the use-modify-cre-
ate framework offers a helpful progression for developing CT over
time. Its greatest benefi t is in illustrating the benefi ts arising from
engaging youth with progressively more complex tasks and giving
them increasing ownership of their learning.
This paper aims to inform efforts to engage K-12 students in
CT, and to assess the value of these efforts. We recommend that
future efforts get more specifi c about the type and level of CT that
will be addressed. The CS Principles project has moved this effort
Implementing CT during the school
day is a compelling vision, but
there are substantial challenges to
this, including existing curriculum
standards, lack of opportunities for
teachers to learn CT as part of their
professional development, and lack
of access to necessary infrastructure.
standard articles
2011 Ma rch Vo l. 2 No. 1 acm Inroads 37
forward in the context of high school CS classes, and a recent post-
ing by Snyder [10] describes specifi c computational thinking prac-
tices. We are working on contributing to a similar effort in OST.
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]. We hope this paper
will contribute to a national dialogue about the most important di-
mensions of CT in K-12, how different aspects of CT develop, the
role of context and motivation in this development, and effective
strategies for engaging youth in computational thinking. Ir
Acknowledgments
Portions of this paper were adapted from
Computational Thinking for Youth
, ITEST Working Group
on Computational Thinking (2010) with permission from Education Development Center, Inc.,
Newton, Massachusetts.
References
[1] Csikszentmihalyi, M. (1990).
Flow: The psychology of optimal experience
. New York: Harper.
[2] Computational Thinking Thought Leaders Meeting. (2010). Computer Science Teachers As-
sociation & International Society for Technology in Education. April 18-19, 2010.
[3] Cuny, J., Snyder, L., and Wing, J. (2010).
Computational Thinking: A Defi nition
. (in press)
[4] Henderson, P.B. (2009). Ubiquitous computational thinking. Computer, 42(10), 100-102.
Available online at
http://www.computer.org/portal/web/csdl/doi/10.1109/MC.2009.334
.
Accessed June 29, 2010.
[5] Lu, J.J. & Fletcher, G.H.L. (2009). Thinking about computational thinking. ACM Special Inter-
est Group on Computer Science Education Conference, (SIGCSE 2009), (Chattanooga, TN,
USA), ACM Press. Available online at
http://portal.acm.org/citation.cfm?id=1508959&dl=AC
M&coll=portal
. Accessed June 29, 2010.
[6] Moursund, D. (2009). Computational Thinking. IAE-pedia. Available online at
http://iae-
pedia.org/Computational_Thinking
. Accesed August 8, 2010.
[7] National Academies of Science. (2010).
Report of a workshop on the scope and nature of
computational thinking
. Washington DC: National Academies Press.
[8] Repenning, A. and Ioannidou, A. (2008).
Broadening participation through scalable game
design
, ACM Special Interest Group on Computer Science Education Conference, (SIGCSE
2008), (Portland, Oregon USA), ACM Press. Available online at http://www.cs.colorado.
edu/~ralex/papers/index.html accessed April 19, 2010.
[9] Resnick, M. (2007).
All I really need to know (about creative thinking) I learned (by studying
how children learn) in kindergarten
. ACM Creativity & Cognition conference, Washington DC,
June 2007. Available online at http://web.media.mit.edu/~mres/papers.html accessed April
19, 2010.
[10] Snyder, L. (2010). Seven Practices of Computational Thinking. Available online at http://
csprinciples.cs.washington.edu/sevenpractices.html accessed August 2, 2010.
[11] Wing, J. (2006). Computational thinking.
Communications of the ACM 49
(3), 33-35.
IRENE LEE
Santa Fe Institute, 1399 Hyde Park Road, Santa Fe, New Mexico 87505 USA
lee@santafe.edu
FRED MARTIN
University of Massachusetts Lowell, Olsen Hall Rm 208, Lowell, Massachusetts 01854 USA
fredm@cs.uml.edu
JILL DENNER
ETR Associates, 4 Carbonero Way, Scotts Valley, California 95066 USA
jilld@etr.org
BOB COULTER
Missouri Botanical Garden, PO Box 299, St. Louis, Missouri 63166-0299 USA
bob.coulter@mobot.org
WALTER ALLAN
Foundation for Blood Research
ScienceWorks for ME
8 Science Park Road, Scarborough, Maine 04070 USA
allan@fbr.org
JERI ERICKSON
Foundation for Blood Research, P.O. Box 190
8 Science Park Road, Scarborough, Maine 04070-0190 USA
jerickso@maine.rr.com
JOYCE MALYN-SMITH
ITEST Learning Resource Center, Education Development Center
55 Chapel Street, Newton Massachusetts 02458-1060 USA
jmsmith@edc.org
LINDA WERNER
University of California, Santa Cruz, Baskin Engineering
1156 High Street, Santa Cruz, California 95064 USA
linda@soe.ucsc.edu
Categories and Subject Descriptors: K.3.2 [Computers and Education]: Computer and
Information Science Education –
Computer science education, curricula, literacy
.
General Terms: Human Factors, Performance, Design, Experimentation.
Keywords: Computer science education, computational thinking, abstraction, automation, analysis.
DOI: 10.1145/1929887.1929902 © 2011 ACM 2153-2184/11/0300 $10.00
Need more info about computing? CRA can help
Computing Research
Association
www.cra.org
... The study was conducted at a production facility of the toy manufacturer, and we chose the context of mould maintenance, which operators were familiar with from their daily work. First participants were tasked to use an AR interface to aid them in collaborating with a robot in two different configurations (see section IV-B), before proceeding to modify [23] the interface in the Authoring task (section IV-B). Thereby engineers and designers were asked to focus primarily on aspects relating to the implementation and use of ARTHUR, while operators were prompted to reflect on how AR-supported HRC could help them in their daily work tasks. ...
... However, a pilot study showed that to be impractical, as the time allocated for each participant (80 minutes) was simply too short to achieve proficiency in using ARTHUR for authoring. Instead, we chose to have the same study for all, where participants could first use our predefined configuration and then modify [23] this, leaving more detailed creation tasks for a later study. ...
Conference Paper
Full-text available
Augmented reality shows great promise for supporting human-robot collaboration. However, investigating this "in the wild" with participants from industry is mostly uncharted territory. Addressing this, we report on a field study evaluation of ARTHUR, an open-source authoring tool for augmented reality-assisted human-robot collaboration. To facilitate this domain-specific study, we extended ARTHUR with additional design components, improved the authoring experience, and support for collaborative authoring. The study took place at a local company, with 16 participants from three stakeholder groups: robot engineers, UX designers, and operators. The task was to assemble and disassemble a subset of an injection mould together with a collaborative robot, while supported by an AR-interface created in ARTHUR. The study revealed a strong desire of operators to be assisted in their daily tasks by robot(s) that serve as an extra (strong) set of hands, and augmented reality to guide the process and communicate robot intent. Engineers confirmed the feasibility of integrating ARTHUR in future semi-automated workflows and UX designers appreciated the authoring capabilities and proposed further features.
... Computational thinking is to think like a computer scientist. It is a set of thinking skills, habits, and approaches integral to solve complex problems (Wing, 2006;Lee, Martin, Denner, Coulter, et al., 2011). Abstraction in computational thinking marks its differences from algorithmic and mathematical thinking (Wing, 2011). ...
... It sheds light on the potential practical applications among the youth. Lee et al. (2011) illustrated the application of computational thinking among students and found that it has far-reaching influences on upgrading students from consuming others' creation to creating their own innovative products. Wing's call for computational thinking draws increased research investigations that attempt questions such as how to apply computational thinking in a class room setting of a primary school? ...
Article
Previous studies suggested that computational thinking is an important skill that schools should start equipping children with from primary school education. This study proposes way to develop a mobile app coding curriculum in primary 4 to 6 to nurture students’ computational thinking. It will guide students to undergo learning stages from developing their own codes and combining with others’ work to create their own apps and staging their apps to gain confidence and recognition of performance in coding. An example of mathematic game in the curriculum is selected as a case study to illustrate in this study how it incorporates the elements of computational thinking in the coding activities progressively. It is believed that the proposed way of curriculum development paves a learning path which may drive students’ interest in coding and students could develop computational thinking skills progressively
... A teacher can prepare students to productively engage with the representational system of a tool in multiple ways. Existing work suggests that using embodied modeling (e.g., Danish et al., 2011;Dickes et al., 2016;Pierson & Brady, 2020;Rands, 2012), drawings or other physical artifacts (e.g., van Joolingen et al., 2010;Wilkerson, Gravel, et al., 2015) and even a progression to introduce programming with the tool (e.g., Lee et al., 2011) can all help orient students to the tool's representational system. Ontological alignment is a specific form of supporting productive engagement with a tool that considers seriously how a teacher can respond to and build on a variety of such existing resources that students bring to the classroom (e.g., Smith et al., 1994). ...
... Computational ABM has been used in many forms: as an environment in which learners run experiments by manipulating parameters (e.g., Yoon et al., 2016), decoding the code to interpret its disciplinary meanings (e.g., Hsiao et al., 2019;, and programming models by encoding rules (e.g., Louca et al., 2011;Saba et al., 2023;Wagh & Wilensky, 2018;Xiang & Passmore, 2010). Engagement with ABM has been found to support students' mechanistic reasoning (e.g., Blikstein & Wilensky, 2009;Dickes et al., 2016;Fuhrmann et al., 2024;Wilkerson, Gravel, et al., 2015), integrated science and computational learning (e.g., Lee et al., 2011;Sengupta et al., 2013;Wagh et al., 2017), and model-based inquiry (e.g., Wilensky & Reisman, 2006;Xiang & Passmore, 2015). ...
Article
Computational modeling tools present unique opportunities and challenges for student learning. Each tool has a representational system that impacts the kinds of explorations students engage in. Inquiry aligned with a tool’s representational system can support more productive engagement toward target learning goals. However, little research has examined how teachers can make visible the ways students’ ideas about a phenomenon can be expressed and explored within a tool’s representational system. In this paper, we elaborate on the construct of ontological alignment—that is, identifying and leveraging points of resonance between students’ existing ideas and the representational system of a tool. Using interaction analysis, we identify alignment practices adopted by a science teacher and her students in a computational agent-based modeling unit. Specifically, we describe three practices: (1) Elevating student ideas relevant to the tool’s representational system; (2) Exploring and testing links between students’ conceptual and computational models; and (3) Drawing on evidence resonant with the tool’s representational system to differentiate between theories. Finally, we discuss the pedagogical value of ontological alignment as a way to leverage students’ ideas in alignment with a tool’s representational system and suggest the presented practices as exemplary ways to support students’ computational modeling for science learning.
... Barr and Stephenson (2011) categorized them as abstraction, algorithms and procedures, automation, problem decomposition, parallelization (parallel processing), and simulation. Lee et al. (2011) emphasized abstraction, automation, and analysis. Selby and Woollard (2013) identified abstraction, algorithms or algorithmic thinking, problem decomposition, evaluation, and generalization as key components. ...
... Then, based on their findings and the educational robot's capabilities, including its perception of the real world and the responses to stimuli encoded in the program, they assess the program's numeric and decision-making values. If the educational robot exhibits unexpected behaviour, it may indicate flaws in the implementation of ideas or conditions encountered that were either overlooked or misjudged during the abstraction phase (Lee et al., 2011). Once the coded program operates successfully on the robot, automation is achieved. ...
Article
Full-text available
In recent years, computational thinking has garnered increased attention as an essential problem-solving skill. One of the methods to develop students’ computational thinking skills is robotic coding activities. This study sought to investigate the impact of robotic coding activities on the self-efficacy perceptions of secondary school students’ computational thinking skills. A one-group pretest-posttest quasi-experimental design was employed, involving 32 secondary school students. These students, organized in groups of four, engaged in hands-on robotic coding activities using Lego Mindstorms EV3 Education robots over a total of 20 hours. Data were collected before and after the robotic coding activities using the Self-Efficacy Perception Scale for Computational Thinking Skills (SEPSCTS) instrument, comprising 36 items categorized into five factors. The data were analyzed using paired samples t-tests and analysis of covariance (ANCOVA). The results demonstrated a significant increase in students’ self-efficacy perceptions of computational thinking skills following the activities, with this increase observed consistently across genders. Finally, the challenges encountered during research and practice were reported, along with the study’s limitations, to inform future research endeavours.
... Barr and Stephenson (2011) categorized them as abstraction, algorithms and procedures, automation, problem decomposition, parallelization (parallel processing), and simulation. Lee et al. (2011) emphasized abstraction, automation, and analysis. Selby and Woollard (2013) identified abstraction, algorithms or algorithmic thinking, problem decomposition, evaluation, and generalization as key components. ...
... Then, based on their findings and the educational robot's capabilities, including its perception of the real world and the responses to stimuli encoded in the program, they assess the program's numeric and decision-making values. If the educational robot exhibits unexpected behaviour, it may indicate flaws in the implementation of ideas or conditions encountered that were either overlooked or misjudged during the abstraction phase (Lee et al., 2011). Once the coded program operates successfully on the robot, automation is achieved. ...
Article
Full-text available
In recent years, computational thinking has garnered increasedattention as an essentialproblem-solving skill. One of the methods to develop students’computational thinking skills is robotic coding activities. This study sought to investigate the impact of robotic coding activities on the self-efficacy perceptions of secondary school students’ computational thinking skills. A one-group pretest-posttest quasi-experimental design was employed, involving 32 secondary school students. These students,organized in groups of four, engaged in hands-on robotic coding activities using Lego Mindstorms EV3 Education robots over a total of 20 hours. Data were collected before and after the robotic coding activities using the Self-Efficacy Perception Scale for Computational Thinking Skills (SEPSCTS)instrument, comprising 36 items categorized into five factors. The data were analyzed using paired samples t-tests and analysis of covariance (ANCOVA). The results demonstrated a significant increase in students’ self-efficacy perceptions of computational thinking skills following the activities, with this increase observed consistently across genders. Finally, the challenges encountered during research and practice were reported, along with the study’s limitations, to informfuture research endeavours.
... Use-Modify-Create proposed by Lee et al. (2011), as a promising pattern for teaching CT, is a pedagogical framework where we allow the students to first engage with a given product. If the product is a game the students could play it, afterwards they should modify the code behind the game. ...
Article
This paper describes experimentations in the introduction of Computational Thinking in Denmark. An example being the new mandatory information technology course Informatik in the Danish high school system, which aims to strengthen digital literacy. Furthermore, we also describe how Computational Thinking is being taught in volunteer organizations. Given the need for recognizing typical patterns in the deployment and adaptation of Computational Thinking in national contexts, the author is currently engaged in a PhD project aiming at compiling a collection of best practices to teach programming, from Asia and Scandinavia.
... Research has shown that ER helps students develop essential crossdisciplinary skills such as critical thinking, problem-solving, decision-making, communication, and teamwork (Benitti, 2012;Blanchard, Freiman, & Lirrete-Pitre, 2010;Atmatzidou & Demetriadis, 2012). Additionally, robotics enhances computational thinking skills (Repenning, Webb, & Ioannidou, 2010;Lee et al., 2011) and positively impacts students' motivation, self-confidence, and creativity (Miller, Nourbakhsh, & Siegwart, 2008;Khanlari, 2013), contributing to a more enjoyable learning experience. Robots have become integral in STEM courses as they embody the interdisciplinary approach of STEM education (Takacs et al., 2016;Atmatzidou & Demetriadis, 2016;Naya et al., 2017). ...
Chapter
Full-text available
This study explores the pivotal role of educational robotics (ER) in enriching K–12 curriculums with machine learning (ML) and artificial intelligence (AI) concepts, highlighting the necessity of demystifying these advanced technologies for the younger generation. With the integration of AI into everyday devices, the urgency to familiarize students with AI and ML has escalated, making it essential for educational systems to adapt. Our research delves into the impact of ER as a practical tool for imparting complex AI and ML principles, fostering not only a deeper understanding but also stimulating interest in STEM fields. This investigation is grounded in the exploration of current ER applications and their potential to transform traditional learning environments into hubs of innovation and critical thinking. By analyzing various ER platforms and their effectiveness in teaching ML concepts, this study aims to offer insights into developing a comprehensive framework that can be utilized by educators to integrate AI and ML into the classroom dynamically and interactively.
... Using Lee et al. (2011) Use-Modify-Create framework, the participants engaged in an online collective learning experience through a social cognitive process of observation and interaction (Merriam & Bierema, 2014;Schunk & DiBenedetto, 2020;Wang & Lin, 2007). The intervention comprised two phases. ...
Article
Background and Context: Efforts to engage adult learners in computer science in the United States have been largely unsuccessful. While research examining the use of music for teaching computer programming with K-12 learners is emerging, little research with adult learners exists. Objective: This study evaluates the effect of computer coding musical compositions on adult learner's attitudes towards computer science. Method: This study utilized the TunePad programming environment to engage adult learners in a computer programming course. Data were obtained through an attitudes towards computing survey and individual interviews. Findings: Quantitative data from participants suggest that computer coding musical compositions positively affected their attitudes toward computer science. Findings from interviews provide insight into how these types of learning activities affected attitudes. Implications: Results of this research will be useful for organizations tasked with assisting adult learners in retraining and ups-killing in computer science.
Chapter
This chapter reviews research on integrating computational thinking (CT) in early childhood education (ECE) over the past decade, emphasizing its growing importance as a crucial skill for the technological world. It explores how CT is taught in early years, the characteristics of CT activities, and their learning outcomes. The review identifies three methodologies: unplugged, coding, and robotics. Unplugged methods use tangible materials like games to teach CT without digital devices. Coding activities foster problem-solving and creativity, while robotics offer interactive learning with programmable robots. Learning outcomes include foundational CT skills, creative problem-solving, technical proficiency, cognitive and language development, and, with robotics, positive emotions, prosocial values, and environmental awareness. Integrating CT in ECE through these methodologies provides valuable learning experiences, fostering critical thinking and preparing young learners to be creative, analytical thinkers in a technologically advanced future.
Conference Paper
Full-text available
The transition from education to the labor market, through the choices of tertiary education institutions, is an important stage in the life of young people. Problem-solving skills, rooted in mathematics education are a basic component of young people's career readiness. In the digital age of the 21st century, how could educators support students in developing employability skills? Can digital tools support the design of strategies for a smooth and safe transition from education to the labor market? This paper presents a case study of the implementation of the Educational Game Choico (Choices with Consequences), as a digital tool for integrating computational thinking in the educational process. By simulating roles as co-designers in learning technologies, students actively participate in building knowledge and developing problem-solving skills and strategies that will support them in the career decision-making process. Under the framework of digital transformation of education, in terms of the development of employment skills, we consider that good teaching practices, such as this one, could be integrated into innovation centers, for strengthening the digital potential of education and modernization of vocational education and training.
Article
Full-text available
Article
Full-text available
Various aspects of computational thinking, which builds on the power and limits of computing processes, whether they are executed by a human or by a machine, are discussed. Computational methods and models are helping to solve problems, design systems, and understand human behavior, by drawing on concepts fundamental to computer science (CS). Computational thinking (CT) is using abstraction and decomposition when attacking a large complex task or designing a large complex systems. CT is the way of thinking in terms of prevention, protection, and recovery from worst-case scenarios through redundancy, damage containment, and error correction. CT is using heuristic reasoning to discover a solution and using massive amount of data to speed up computation. CT is a futuristic vision to guide computer science educators, researchers, and practitioners to change society's image of the computer science field.
Article
Full-text available
The computational thinking view recognizes that underlying computing concepts are integral to our everyday lives and pervasive in many disciplines of study. Computer science, information systems, computer engineering, informatics, software engineering-these are among the smorgasbord of choices available to college students interested in a computing career. The choices for noncomputing-oriented students who want to learn about the field are even more confounding. Indeed, the established term "computer science" is not well-defined or well understood, leading to further confusion for students and their parents as well as the general public. These are some factors I view as contributing to the drop in interest in the study of computer science. The student should learn the fundamental concept of computer sciences. Computing education has been too slow moving from the computing = programming model to a more general and understandable model that captures the essence of the discipline for everyone.
Conference Paper
Full-text available
This paper argues that the "kindergarten approach to learning" - characterized by a spiraling cycle of Imagine, Create, Play, Share, Reflect, and back to Imagine - is ideally suited to the needs of the 21st century, helping learners develop the creative-thinking skills that are critical to success and satisfaction in today's society. The paper discusses strategies for designing new technologies that encourage and support kindergarten-style learning, building on the success of traditional kindergarten materials and activities, but extending to learners of all ages, helping them continue to develop as creative thinkers.
Conference Paper
Full-text available
Jeannette Wing's call for teaching Computational Thinking (CT) as a formative skill on par with reading, writing, and arithmetic places computer science in the category of basic knowledge. Just as proficiency in basic language arts helps us to effectively communicate and in basic math helps us to successfully quantitate, proficiency in computational thinking helps us to systematically and efficiently process information and tasks. But while teaching everyone to think computationally is a noble goal, there are pedagogical challenges. Perhaps the most confounding issue is the role of programming, and whether we can separate it from teaching basic computer science. How much programming, if any, should be required for CT proficiency? We believe that to successfully broaden participation in computer science, efforts must be made to lay the foundations of CT long before students experience their first programming language. We posit that programming is to Computer Science what proof construction is to mathematics, and what literary analysis is to English. Hence by analogy, programming should be the entrance into higher CS, and not the student's first encounter in CS. We argue that in the absence of programming, teaching CT should focus on establishing vocabularies and symbols that can be used to annotate and describe computation and abstraction, suggest information and execution, and provide notation around which mental models of processes can be built. Lastly, we conjecture that students with sustained exposure to CT in their formative education will be better prepared for programming and the CS curriculum, and, furthermore, that they might choose to major in CS not only for career opportunities, but also for its intellectual content.
Conference Paper
Game development is quickly gaining popularity in introductory programming courses. Motivational and educational aspects of game development are hard to balance and often sacrifice principled educational goals. We are employing the notion of scalable game design as an approach to broaden participation by shifting the pedagogical focus from specific programming to more general design comprehension. Scalable game design combines the Flow psychological model, the FIT competency framework and the AgentSheets rapid game prototyping environment. The scalable aspect of our approach has allowed us to teach game design in a broad variety of contexts with students ranging from elementary school to CS graduate students, with projects ranging from simple Frogger-like to sophisticated Sims-like games, and with diverse cultures from the USA, Europe and Asia.