Algorithms are central to both
computer science and computational
thinking. Algorithms underlie the
most basic tasks everyone engages in,
from following a simple cooking recipe
to providing complicated driving directions. Because there is a general misconception that algorithms are used
only to solve mathematical problems
and are not applicable in other disciplines,
29 it is important to introduce
students to algorithms by first using
examples from their daily lives. For example, in early grades, teachers could
highlight the steps involved in brushing teeth, while in later grades, students could engage in following steps
during a lab experiment. Understanding algorithms as a set of precise steps
provides the basis for understanding
how to develop an algorithm that can
be implemented in a computing program. Students can be exposed to the
computational thinking concept of abstraction by creating models of physics entities (such as a model of the solar
system).
3 Abstraction helps students
learn to strip away complexity in order to
reduce an artifact to its essence and still
be able to know what the artifact is. In
another example, Barr and Stephenson3
suggested students can learn about
parallelization by simultaneously
running experiments with different
parameters. A number of leading research, educational, and funding organizations have argued for the need to
introduce K– 12 students to these core
constructs and practices.
Computational Thinking
in K– 12 Education
The National Research Council (NRC)
22
highlighted the importance of exposing students to computational thinking
notions early in their school years and
helping them to understand when and
how to apply these essential skills.
3, 22
The NRC report22 on the scope and na-
ture of computational thinking high-
lighted the need for students to learn
the related strategies from knowledge-
able educators who model these strat-
egies and guide their students to use
them independently. Similarly, Barr
and Stephenson3 argued that, given
that students will go into a workforce
heavily influenced by computing, it is
important for them to begin to work
with computational thinking ideas and
existing learning outcomes. Finally, we
discuss ways to implement computa-
tional thinking into pre-service teacher
training, including how teacher educa-
tors and computer science educators
can collaborate to develop pathways to
help pre-service teachers become com-
putationally educated.
What Is Computational Thinking?
How do we define computational
thinking and use the definition as a
framework to embed it in K– 12 classrooms? Wing’s seminal column28
offered a promising definition of computational thinking: “… breaking down
a difficult problem into more familiar
ones that we can solve (problem decomposition), using a set of rules to
find solutions (algorithms), and using abstractions to generalize those
solutions to similar problems.” Finally, automation is the ultimate step
in computational thinking that can
be implemented through computing
tools. These concepts cut across disciplines and could be embedded across
subjects in elementary and secondary schools. Based on this definition,
a steering committee formed by the
Computer Science Teachers Association (CSTA https://www.csteachers.
org/) and the International Society for
Technology in Education (ISTE https://
www.iste.org/) presented a computational thinking framework for K– 12
schools in 2011 with nine core computational thinking concepts and capabilities, including data collection,
data analysis, data representation,
problem decomposition, abstraction,
algorithms and procedures, automation, parallelization, and simulation.
They were also discussed in 2015 in
the Computing at School (CAS) framework and guide for teachers to enable
teachers in the U.K. to incorporate
computational thinking into their
teaching work.
10 CSTA/ISTE and CAS
also provide pedagogical approaches
to embed these capabilities across the
curriculum in elementary and secondary classes. For example, CSTA/ISTE
describes how the nine core computational thinking concepts and capabilities could be practiced in science classrooms by collecting and analyzing data
from experiments (data collection and
data analysis) and summarizing that
data (data representation).
Computational
thinking is often
mistakenly
equated with
using computer
technology.