Computational thinking, as defined by Wing, is more than
just computer science. It “involves solving problems, designing systems, and
understanding human behavior” using techniques like reduction, embedding,
transformation, and simulation (Wing, 2006). She argues that computational
thinking should and will become a necessity to function in society, similar to
reading and writing. This form of literacy involves a variety of uncommon
concepts and has already begun to take shape in some of the science and
literature research.
Wing emphasizes the essence of computation thinking as
symbolic and complex “abstraction”. Computing involves working with at least
two layers of abstraction, usually simultaneously. This simultaneous manipulation
and understanding of layers is supported by Wilensky and Resnick’s article that
focuses on the foregrounding of levels in order to enable people to gain a
better ability to think about interactions and relationships among elements of
complex systems (Wilensky & Resnick, 1999). Understanding the various
layers of levels in systems like slime mold and traffic jams will help create
the basis for thinking about computer programming. This concept is further
enforced by the type of systematic thinking that is used in agent based models
when different variables are changed. For example, in the wolf-sheep model,
learners build on their intuitive understandings about individual agents to grasp
mechanisms in the aggregate level (Wilensky, Brady, Horn, 2014).
This style of thinking extends beyond science fields, too,
as evidenced by the systematic approach of “flat” vs “round” characterizations
of story characters (Burke, 2012). Programming these literary elements serves
to reinforce an understanding of organizing and arranging ideas within a
storyline. Through this example, we see that computational thinking can also be
applied to language and literacy fields.
However, computational thinking is a complex kind of
analytical thinking that may be difficult to grasp, perhaps particularly for
younger students. In Simpson, Noyle, and Hoss’ article on modeling of elastic
collisions, they show that 13 and 14 year old students often had a lack of
conceptual understanding of the principle underlying velocity swapping (Simpson,
2014). The students were able to see the pattern of the carts swapping
velocities upon impact, but missed, arguably, the point of the whole exercise.
Further, almost all students asked to design a game featured multiple-choice
questions that expected the user to provide answers (Kafai, 2006). This lack of
design and creative characteristics in these games seems to not support computational
thinking, where fundamental skill and not rote skill are paramount.
One of the most interesting parts for me to read about was
the practice of obfuscating code, making code illegible to humans while still
parsable to the computer (Vee, 2013). As Wing described computational thinking
as a way that humans think and not computers, it seems odd that coders would
detract from the systematic and efficient process of programming by obfuscating
the code (Wing, 2006). This seems contrary to the idea of computational
thinking.
These articles show just some of the uses for computational
thinking for everyone, everywhere. However, these examples also highlight that
the way we teach computational thinking is perhaps equally important, to ensure
that we are spreading the appropriate methods and ideas.
No comments:
Post a Comment