From Computational Thinking to Computational Doing

From Computational Thinking to Computational Doing

Marina Umaschi Bers
Copyright: © 2021 |Pages: 20
DOI: 10.4018/978-1-7998-7308-2.ch001
OnDemand:
(Individual Chapters)
Available
$37.50
No Current Special Offers
TOTAL SAVINGS: $37.50

Abstract

Computer programming is becoming an essential skill in the 21st century, and in order to best prepare future generations, the promotion of computational thinking and literacy must begin in early childhood education. Computational thinking can be defined in many ways. The broad definition offered in this chapter is that computational thinking practices refer to techniques applied by humans to express themselves by designing and constructing computation. This chapter claims that one of the fundamental ways in which computational thinking can be supported and augmented is by providing children with opportunities to code and to create their own interactive computational media. Thus, computational literacy will allow children to become producers and not only consumers of digital artifacts and systems.
Chapter Preview
Top

A Scenario

Henry, 6 years old, is working with the free ScratchJr introductory programming language on an iPad loaded in his kindergarten class. He is focused on making an animation of a train. Every so often, he wiggles. Other times, he is frustrated and watches over his friend Liana’s project to ask her a question. “How did you make your cat appear and disappear on the screen so many times?” Henry is trying to program a train that travels into a tunnel. He drew the train and the tunnel with the paint tool in ScratchJr. He is happy with how they look, but now comes the hardest part: he needs to program the train to move forward, while making a “choo-choo-choo” noise. He has to time it perfectly, so the train disappears as it travels into the tunnel, but the noise continues to play out.

“Look at my cat! Look at my cat!” Liana is excited to show Henry how to use new programming blocks, purple blocks to be more specific, called Looks blocks. She has programmed her ScratchJr kitten to appear and disappear on the screen ten different times. She has put together a long sequence. Although Liana cannot read yet, she knows that these programming blocks can make her ScratchJr kitten show and hide.

Henry wants to do the same thing, except that he wants the train to always hide while it is inside the tunnel. Slowly, by trial and error, he figures that he will need to put together a sequence with ten hide blocks. And then, he could put one show block and the train will become visible again. The problem is that all of this needs to happen while the train keeps sounding its “choo choo choo” horn. He is not sure how to do this.

Henry’s teacher hears his call and walks over to him. Henry explains what he wants. The teacher shows him how to create parallel programs, so two different events can happen at the same time. Henry is happy to try it. He records the “choo choo choo” sound with his voice and he creates a sequence that makes the sound start with the green flag. The same green flag that starts the train moving forward to go through the tunnel. “It works!” exclaims Henry while jumping up and down. However, after watching the animation for a few seconds, Henry notices that the train doesn’t hide for long enough. Self-confident, Henry decides to add a few more blocks to the hide sequence until he runs out of space in the screen. He is about to ask Liana again, when he suddenly remembers about the new programming block they learned a few days ago, a long orange block, called “Repeat.” This block allows for other blocks to be inserted inside its “loop”. The repeat block then runs the blocks inside its loop as many times as the programmer decides.

After some trial and error, in which Henry plays with inserting different numbers of hide blocks inside the “Repeat” block, he figures it out. He can put just one hide block inside the “Repeat” block and set the number of repetition times to the highest he needs for the train to be inside the tunnel. He chooses the number 20 and clicks the “Green flag” to see the animation. The train moves forward on its tracks and goes into a tunnel while the “choo choo choo” sound plays in the background. Then, the train disappears and comes out on the other side. After watching the animation, Henry realizes it is boring to wait for so long for the train to appear again. He goes back to his code and reduces the number of repetitions to 5. Figure 1 shows Henry’s code for the train.

During this experience, Henry had fun. He also put his coding skills to work making a project he cared about. He learned that a programming language has a syntax in which symbols represent actions. He understood that his choices had an impact on what was happening on the screen. While programming, Henry encountered some of the most powerful ideas of computer science that are accessible for a young child. He developed computational thinking. He was able to create a sequence of programming blocks to represent a complex behavior (e.g., appearing and disappearing), as well as create parallel sequences so two different events could happen at the same time (e.g., parallel programming). He used logic in a systematic way to correctly order the blocks in a sequence and he problem-solved. He exercised his tenacity and learned how to ask for help from peers and his teacher. Finally, Henry was able to create a project from his own original idea and turn it into a final product, a project he chose and to which he was personally attached. He was happy to revise it when the final outcome did not meet his expectations (i.e., it ended up being so long that it was boring to watch). He also engaged with mathematical ideas of estimation and number sense.

Key Terms in this Chapter

Computer Science: The study of the principles and use of computers.

Early Childhood: Period of time between birth and age eight.

Learning: The acquisition of knowledge or skills through experience, study or being taught.

ScratchJr: A free block-based programming application for young children.

KIBO: A screen-free programmable robotics kit for young children with blocks, sensors, modules, and art platforms.

Computational Thinking: Techniques applied by humans to express themselves by designing and constructing computation.

Coding: The process or activity of writing computer programs.

Constructionism: The theory that learning should be done through student-centered discovery.

Complete Chapter List

Search this Book:
Reset