0% found this document useful (0 votes)
61 views6 pages

Handout 3 - Use Modify Create in Computing

Uploaded by

Müge Uysal
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
61 views6 pages

Handout 3 - Use Modify Create in Computing

Uploaded by

Müge Uysal
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

st a n d a rd a r t i c l e s

Computational
Thinking for
Youth in Practice
Irene Lee ■ Fred Martin ■ Jill Denner ■ Bob Coulter ■ Walter Allan
Jeri Erickson ■ Joyce Malyn-Smith ■ Linda Werner

Computational thinking (CT) has and Teachers (ITEST), Academies for Young Scientists (AYS) and
been described as the use of abstraction, automation, Research and Evaluation on Education in Science and Engineering
(REESE) programs. The examples provide a lens through which one
and analysis in problem-solving [3]. We examine can consider the implications for learning and teaching computational
how these ways of thinking take shape for middle thinking in grades K through 12.
and high school youth in a set of NSF-supported
programs. We discuss opportunities and challenges Key questions include:
■ What does computational thinking for youth look like in practice?
in both in-school and after-school contexts. Based on ■ How can we support growth in computational thinking, both in

these observations, we present a “use-modify-create” and out of school?


framework, representing three phases of students’
cognitive and practical activity in computational The examples and recommendations presented within this pa-
per were collected by the ITEST working group on Computational
thinking. We recommend continued investment in Thinking. All of the authors are members of this community by virtue
the development of CT-rich learning environments, in of their involvement with current or previous ITEST programs. This
educators who can facilitate their use, and in research work is intended to complement The National Academies “Compu-
on the broader value of computational thinking. tational Thinking for Everyone” workshop series and the work cur-
rently being carried out by the Compuer Science Teachers Association

1
(CSTA) and the International Society for Technology in Education
INTRODUCTION
➧ Computational thinking (CT) is a term coined by Jeannette
(ISTE) as part of the Computational Thinking Thought Leaders
project, and to further the discussion by presenting examples of com-
Wing [11] to describe a set of thinking skills, habits and approaches putational thinking in action within programs for youth in both for-
that are integral to solving complex problems using a computer and mal and informal settings.
widely applicable in the information society. Thinking computation-
ally draws on the concepts that are fundamental to computer science,

2
and involves systematically and efficiently processing information and
COMPUTATION THINKING FOR
tasks. CT involves defining, understanding, and solving problems,
reasoning at multiple levels of abstraction, understanding and apply- ➧ YOUTH IN PRACTICE
ing automation, and analyzing the appropriateness of the abstractions In this paper, we respond to several recent calls to describe CT
made. CT shares elements with various other types of thinking such among youth and to identify strategies for integrating CT into
as algorithmic thinking, engineering thinking, design thinking, and K-12 settings [4][5][7]. We apply and build on existing descrip-
mathematical thinking. As such, CT draws on a rich legacy of related tions of CT, which have been based on thinking like a computer
frameworks as it extends previous thinking skills. scientist in college and beyond. Specifically, we offer examples of
This paper aims to help computing and STEM (science, technol- what computational thinking looks like among youth from a range
ogy, engineering and mathematics) educators understand computa- of cultural and socioeconomic backgrounds, both in and out of
tional thinking (what it looks like “in practice”, how it connects with school. Examples are drawn from three domains: modeling and
their existing curriculum, and how to nurture computational think- simulation, robotics, and game design and development. Across
ing in today’s youth) by sharing rich examples from National Science these domains, we have identified commonalities in the nature of
Foundation funded Innovative Technology Experiences for Students youth’s computational thinking.

32 acm Inroads 2011 March • Vol. 2 • No. 1


standard articles

We found the terms of abstraction, automation, and analysis [3] the process of abstraction to narrow the problem down to something
to be useful for understanding how youth can use CT to approach that could be implemented on the computer using StarLogo TNG,
novel problems. Abstraction is “the process of generalizing from spe- an agent based modeling tool. Restrictions imposed by the model-
cific instances.” In problem solving, abstraction may take the form of ing environment include an upper bound on the number of agents
stripping down a problem to what is believed to be its bare essentials. (4076) and a limit on the size of the environment (101 by 101 cells).
Abstraction is also commonly defined as the capturing of common Within these parameters students designed and created models as
characteristics or actions into one set that can be used to represent testbeds to answer questions about real-world concerns. For exam-
all other instances. Automation is a labor saving process in which a ple, as part of the Project GUTS unit on Epidemiology, a group of
computer is instructed to execute a set of repetitive tasks quickly and students wanted to know if a disease would spread throughout their
efficiently compared to the processing power of a human. In this light, school population given the layout of the school, the number of stu-
computer programs are “automations of abstractions.” Analysis is a re- dents, the movement of the students, the virulence of the disease,
flective practice that refers to the validation of whether the abstractions and the number of students initially infected. See Figure 1.
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

TABLE1: EXAMPLES OF CT IN THREE DOMAINS


Abstraction Automation Analysis
Modeling & Selecting Time stepping Were the
Simulation features of using a correct
real-world to model as an abstractions
incorporate in a experimental made?
model testbed
Does the model
reflect reality?
Robotics Design robot to Program Are there
react to a set of checks sensors situations that
conditions to monitor were not taken
conditions into account? Figure 1: GUTS club members creating ecosystem models in Chicago.
Game Games are Game responds Do the
Design & abstracted into to user actions elements
Development a set of scenes incorporated
Mapping this question and scenario onto an agent based model,
containing make the game agents were used as abstractions or simplified representations of stu-
characters fun to play? 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
In the next sections, we use examples from three out-of-school were made about which features of the school were important to take
time (OST) youth programs to illustrate what the three aspects of into consideration before a 3-D virtual model of the school building
CT look like in practice, in each of the three domains. Each of these was created. For instance, students decided that recreating the num-
programs offers opportunities for middle and high school students ber and location of passages and doors at the school was important.
to engage in computational thinking. The students come with a Additionally students modeled the characteristics of the contagion
range of computer experience and confidence, including students being spread: how often contact between students spread the disease
with limited English and no computer at home, as well as students from one to the other and how many students were initially infected.
who have grown up tinkering with technology. The hands-on and To make the model a testbed capable of running experiments, it was
student-driven nature of the programs is designed to allow students equipped with interface sliders to control individual variables. One
at all levels to engage in CT. slider controlled the number of initially infected agents and another
controlled the virulence of the contagious element. See Figure 2.
2.1 Modeling and Simulation Automation was used in a number of ways. The “program” itself
The first domain we consider is modeling and simulation. Dave automated “stepping through” or advancing the simulation through
Moursund [6] suggests “the underlying idea in computational think- the use of a run loop that updated each agent’s state, location, and
ing is developing models and simulations of problems that one is color (representing sick or healthy) at each time step. Because
trying to study and solve.” In Project GUTS (Growing up Think- agent-based models involve randomness, for example, the initial
ing Scientifically) middle school students actively engage in com- location of infected individuals is chosen randomly, they tell us the
putational thinking as they design and implement models of local probabilities of certain outcomes rather than predictions. Automa-
relevance and then use the models to run simulations. Students used tion was used to execute multiple “runs” of the experiment with

2011 March • Vol. 2 • No. 1 acm Inroads 33


st a n d a rd a r t i c l e s
Computational Thinking for Youth in Practice
continued
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.
Figure 2: Students’ customization of contagion model to reflect school layout.
2.3 Game Design and Development
the same parameter settings in order to attain the probabilities of A third domain in which computational thinking takes place is
certain outcomes. Once the simulations were run and data on the computer game design and development. In the iGame after-
number of infected individuals after a fixed number of time steps school program, middle school students engage in computational
were collected, students reflected on the outcomes. In some cases, thinking by designing, programming, and testing computer games
the students were able to analyze their models, the assumptions of their choosing using Storytelling Alice (SA). SA, as with many
and abstractions made, by comparing the model generated data other programming languages, allows students to create their own
with data collected within their schools. For instance, one group abstractions. Because SA is a programming environment that al-
compared the data generated using their model that simulated the lows the creation of 3D animations, students can then test highly
spread of swine flu with attendance/absenteeism records collected complex abstractions quickly and precisely. To create their game,
during a period of time when swine flu was known to be circulating students build a group of scenes, where each scene contains charac-
within their school. Analysis of this sort may lead to reconsidera- ters, and each character has behaviors. Students choose from an ar-
tion of what factors to include in a model and cycle back to the ray of character attributes and behaviors selecting only those details
beginning of the process described above. appropriate for the virtual world they are creating.
Students can define new methods representing behaviors not
2.2 Robotics built into SA. Into these methods, students can place a combina-
A second domain that promotes computational thinking with pre- tion of existing behaviors and changes to character attributes. In
college students is robotics. In a robotics project, student programmers iGame, many student-created methods were simple combinations
design and program robots and other physical devices with embedded of sequential commands, but creating methods often requires an
code. They need to think about how the robotic agent will interact understanding of conditionals, iteration, and sequential and paral-
within its world, based on factors such as its sensor values and the ef- lel execution. For example, in the Labyrinth of the Turtle game, a
fects of its actuators. As student programmed a character to dance using a series of parallel
they do this, the student movements and vocalizations.
makes choices of how Games often require multiple similar characters to perform the
their programming will same action. Students can “scale up” their abstraction creating a
connect these processes list data structure containing these similar characters. Then they
together to achieve the can program similar behaviors for these characters by using special
desired results. instructions that iterate through a list data structure. For example,
In the iCODE in the Zombie Invasion game, a student programmed a group of
project (Internet Com- zombies to wait and then start moving at the same time. As the
munity of Design En- player clicks on each one, it is programmed to disappear. However,
gineers), middle and most game programmers in iGame choose to repeat commands
high school students they understand, rather than learn to use lists.
complete a variety of Students in iGame engage in analysis when they judge whether
microcontroller-based or not their abstractions were correct and efficient. Analysis of cor-
projects, beginning with rectness focuses on whether they produced the game they intended,
a simple project with i.e., whether the game plays the way they want it to or whether the
programmable flash- game that was designed to be fun was, in fact, fun. Analysis of ef-
ing lamps, to a musical ficiency involves creating the simplest code to achieve the desired
memory game, to fully behavior. Analysis takes place during the process of testing and
autonomous (self-con- debugging their game, and students often need an external motiva-
Figure 3: Two iCODE students display their trolled) robots that enter tor to focus on efficiency because when their game is working, they
Sumo robot. a contest. See Figure 3. see little reason to edit the code. Students also play-test their peers’

34 acm Inroads 2011 March • Vol. 2 • No. 1


standard articles

games, and analyze them in terms of playability, and whether they 3.2 Three-stage Progression “Use-Modify-Create”
have created the best (most efficient, most believable, or most fun) Second, we propose using a three-stage progression for engaging
abstractions. youth in CT within these rich computational environments. This
progression, called Use-Modify-Create, describes a pattern of en-
2.4 Other Domains gagement (see Figure 5) that was seen to support and deepen youth’s
The domains mentioned are by no means a comprehensive list. acquisition of CT in the authors’ NSF projects. It is based on the
There are many other domains such as designing and program- premise that scaffolding increasingly deep interactions will promote
ming webpages, cell phone apps, etc. that have potential to develop the acquisition and development of CT. In the use stage, students
CT in youth. Common among these examples is the active use are consumers of someone else’s creation. For example, they run ex-
of key computational thinking concepts: abstraction, automation periments using pre-existing computer models, run a program that
and, to various extents, analysis, by youth within middle school controls a robot, or play a ready-made computer game. Over time
programs. Through these examples, we posit that not only is CT they begin to modify the model, game or program with increasing
possible at the middle school level, it can easily be embedded levels of sophistication. For example, a student may initially want to
within activities that encourage youth to be creators, innovators, change the color of a character or some other purely visual attribute.
and problem-solvers. Computational thinking projects like these Later the student may want to change the character’s behavior in a
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]. In all of these
projects, the end result is a unique product created by the students.

➧ 3 SUPPORTING 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.
Figure 5: Use-Modify-Create
3.1 Rich Computational Environments Learning Progression
The first is the use of rich computational environments. Rich com-
putational environments are ones in which the underlying abstrac- way that entails developing new pieces of code. Modification of this
tions and mechanisms can be inspected, manipulated and custom- kind necessitates an understanding of at least a subset of the abstrac-
ized. For example, consider the differences between SimCity and a tion and automation contained within a program, model or game.
model in StarLogo TNG. In SimCity, a user may add buildings to Through a series of modifications and iterative refinements, new
a city and see correlations between adding buildings and CO2 pro- skills and understandings are developed as what was once someone
duction but the underlying formulae and model are hidden from else’s becomes one’s own. As youth gain skills and confidence, they
view. Contrast that with a StarLogo TNG environment in which can be encouraged to develop ideas for new computational projects
the user can “look under the hood” and inspect the causal rela- of their own design that address issues of their choosing. Within
tionships and abstractions that are embedded in a model. The rich this “create” stage, all three key aspects of computational thinking:
computational environment is one in which the user can develop abstraction, automation and analysis, come into play.
CT skills and transform from user to creator. See Figure 4. 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 flow [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
fits and starts, there are no clean break points from using to modi-
Figure 4: Inspecting the mechanism for infection in a basic contagion fying to creating. Youth may transition back and forth from users
model in StarLogo TNG. to modifiers to creators.

2011 March • Vol. 2 • No. 1 acm Inroads 35


st a n d a rd a r t i c l e s
Computational Thinking for Youth in Practice
continued
3.3 Other Domains sary infrastructure. Consequently, much of the work in CT with
The examples of CT in youth programs described thus far took youth remains in out-of-school environments. As shown in this
place after school, either during weekends, holiday breaks, and/or paper, new opportunities for fostering computational thinking are
over the summer. EcoScienceWorks (ESW) is a program in Maine emerging, and NSF-funded programs are actively exploring ways
that leverages the State’s one-to-one laptop initiative to engage in which computational thinking works in both in-school and out-
students with environmental simulations as part of the school day of-school environments.
science curriculum. This project also exposes students to simple

4
programming challenges as a way of introducing them to the com-
CONCLUSIONS
putational thinking that underlies the simulations. Through guided
experimentation, EcoScienceWorks deepens students’ understand- ➧ The call for integrating CT into K-12 settings has
ing of both ecology and computer modeling. been growing increasingly louder, despite the lack of descrip-
The success of the project has been partly a result of address- tions of what learning to think computationally actually looks like
ing some of the challenges in introducing computational think- among youth. In this paper, we have contributed to efforts to define
ing into the classroom head on. For instance, because CT is not and support CT for youth by using examples from several youth
evaluated by standardized testing, it is difficult in the current projects to make two key points.
educational climate for teachers to teach CT concepts directly. The first key point is that existing definitions of CT can be ap-
The ESW staff addressed this constraint by designing a simula- plied to K-12 settings. The examples show that youth can engage
tion-based ecology curriculum in which the CT portions of the in key aspects of computational thinking within programs focus-
ing on modeling and simulation, robotics, and
game design and development. Students from
Implementing CT during the school a range of backgrounds are able to use abstrac-
tion, automation, and analysis to create original
day is a compelling vision, but products when given access to rich learning en-
vironments that include skilled teachers, devel-
there are substantial challenges to opmental considerations, and usually include
new technology. However, the field requires
this, including existing curriculum systematic assessment procedures that build on
existing research from the learning sciences in
standards, lack of opportunities for order to describe the developmental progres-
sion of these three CT constructs. Some of the
teachers to learn CT as part of their authors are currently testing a variety of assess-
ment approaches.
professional development, and lack The second key point is that CT takes place
on a continuum. The use-modify-create pro-
of access to necessary infrastructure. gression is offered as a framework for educa-
tors and researchers that are looking at how
CT develops, and how that development can
curriculum were what students had to do in order to fulfill ex- be supported. But research is needed to understand why students
plicit content learning goals. That is, an ecology curriculum that are thinking at different levels of abstraction, automation, and
arguably required CT was designed to replace the existing cur- analysis. These differences may be a function of students working
riculum that focused on content transfer. With this pedagogical in different phases of the use-modify-create learning progression.
design, the required core ecology concepts could be covered in For example, we suggest that moving from modifying to creating
much greater depth, and CT was fostered through the use and an original project requires increasing levels of abstract representa-
understanding of computational models. tion and understanding. Similarly, simple analysis includes testing
While this work offers a promising example, it is important to rec- and debugging a program, while a deeper level of analysis would
ognize the resources that were necessary in order for it to be success- involve trying to determine if a model can be validated against real-
ful. Infrastructure was not a significant obstacle as each student had world data. As a foundation moving forward, the use-modify-cre-
access to a laptop, district support had been established, and intensive ate framework offers a helpful progression for developing CT over
support was provided by the project staff in the form of professional time. Its greatest benefit is in illustrating the benefits arising from
development and ongoing assistance. Transformative applications of engaging youth with progressively more complex tasks and giving
CT can work in schools with all of these ingredients in place. them increasing ownership of their learning.
Implementing CT during the school day is a compelling vision, This paper aims to inform efforts to engage K-12 students in
but there are substantial challenges to this, including existing cur- CT, and to assess the value of these efforts. We recommend that
riculum standards, lack of opportunities for teachers to learn CT as future efforts get more specific about the type and level of CT that
part of their professional development, and lack of access to neces- will be addressed. The CS Principles project has moved this effort

36 acm Inroads 2011 March • Vol. 2 • No. 1


standard articles

forward in the context of high school CS classes, and a recent post-


IRENE LEE
ing by Snyder [10] describes specific computational thinking prac- Santa Fe Institute, 1399 Hyde Park Road, Santa Fe, New Mexico 87505 USA
tices. We are working on contributing to a similar effort in OST. [email protected]
This paper builds on existing efforts to describe the scope and
FRED MARTIN
nature of CT [7] as well as the concepts involved in CT and how University of Massachusetts Lowell, Olsen Hall Rm 208, Lowell, Massachusetts 01854 USA
youth should be able to use those concepts [2]. We hope this paper [email protected]
will contribute to a national dialogue about the most important di- JILL DENNER
mensions of CT in K-12, how different aspects of CT develop, the ETR Associates, 4 Carbonero Way, Scotts Valley, California 95066 USA
role of context and motivation in this development, and effective [email protected]
strategies for engaging youth in computational thinking. Ir BOB COULTER
Missouri Botanical Garden, PO Box 299, St. Louis, Missouri 63166-0299 USA
Acknowledgments [email protected]
Portions of this paper were adapted from Computational Thinking for Youth, ITEST Working Group WALTER ALLAN
on Computational Thinking (2010) with permission from Education Development Center, Inc.,
Newton, Massachusetts. Foundation for Blood Research
ScienceWorks for ME
8 Science Park Road, Scarborough, Maine 04070 USA
References [email protected]
[1] Csikszentmihalyi, M. (1990). Flow: The psychology of optimal experience. New York: Harper.
[2] Computational Thinking Thought Leaders Meeting. (2010). Computer Science Teachers As- JERI ERICKSON
sociation & International Society for Technology in Education. April 18-19, 2010. Foundation for Blood Research, P.O. Box 190
[3] Cuny, J., Snyder, L., and Wing, J. (2010). Computational Thinking: A Definition. (in press) 8 Science Park Road, Scarborough, Maine 04070-0190 USA
[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. [email protected]
Accessed June 29, 2010.
[5] Lu, J.J. & Fletcher, G.H.L. (2009). Thinking about computational thinking. ACM Special Inter-
JOYCE MALYN-SMITH
est Group on Computer Science Education Conference, (SIGCSE 2009), (Chattanooga, TN, ITEST Learning Resource Center, Education Development Center
USA), ACM Press. Available online at http://portal.acm.org/citation.cfm?id=1508959&dl=AC 55 Chapel Street, Newton Massachusetts 02458-1060 USA
M&coll=portal. Accessed June 29, 2010. [email protected]
[6] Moursund, D. (2009). Computational Thinking. IAE-pedia. Available online at http://iae-
pedia.org/Computational_Thinking. Accesed August 8, 2010. LINDA WERNER
[7] National Academies of Science. (2010). Report of a workshop on the scope and nature of
University of California, Santa Cruz, Baskin Engineering
computational thinking. Washington DC: National Academies Press.
[8] Repenning, A. and Ioannidou, A. (2008). Broadening participation through scalable game 1156 High Street, Santa Cruz, California 95064 USA
design, ACM Special Interest Group on Computer Science Education Conference, (SIGCSE [email protected]
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 Categories and Subject Descriptors: K.3.2 [Computers and Education]: Computer and
how children learn) in kindergarten. ACM Creativity & Cognition conference, Washington DC, Information Science Education – Computer science education, curricula, literacy.
June 2007. Available online at http://web.media.mit.edu/~mres/papers.html accessed April General Terms: Human Factors, Performance, Design, Experimentation.
19, 2010. Keywords: Computer science education, computational thinking, abstraction, automation, analysis.
[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. 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

2011 March • Vol. 2 • No. 1 acm Inroads 37

You might also like