In 1980, Seymour Papert, described his vision for computer integration in schools:

The child programs the computer and, in doing so, [the child] both acquires a sense of mastery over a piece of the most modern and powerful technology and establishes an intimate contact with some of the deepest ideas from science, from mathematics, and from the art of intellectual model building” (emphasis made by Papert, p. 5).

As an EdTech leader, I often question my own practices in classroom tech integration. Are my students on the creative or consumer end of the technology? I realized that if I want my students to be on the creative end, an understanding of computational thinking will need to be achieved. Jeannette Wing, professor at Carnegie Mellon, explained that computational thinking has characteristics of conceptualizing, where “thinking like a computer scientist means more than being able to program a computer. It requires thinking at multiple levels of abstraction” (p. 35). Having this understanding can lead to more creative projects that stem directly from the students.

The irony to teaching basic computational thinking is actually without technology. Code.org has some fantastic unplugged lessons that work for all age groups, even adults. I used “My Robotic Friends” with edtech leadership doctoral students and they had a fantastic experience; they claimed after the activity that they were going to bring the activity to their students. The preparation was simple: plastic cups, paper, writing utensil, and sample models (included in the unplugged lesson plan).

These were the slides I used in my lesson. First, I showed them the introductory video created by Code.org. Then I frontloaded the vocabulary words that we could possibly use while completing the activity. We studied the symbols key to understand the signs we needed to draw on the paper as our code. We clarified the starting position and placement of the cup stack. As a class, we wrote the first algorithm together to complete this tower:

There were multiple opportunities to debug as the students realized that it was difficult to break down every movement. When we successfully wrote the algorithm to build the cup tower and after they understood the necessary steps, they worked in pairs. Individually, each person secretly chose a cup tower design and wrote an algorithm. When each person was done writing, one person chose to be the robot to follow the written algorithm. Any problems that arose along the way were debugged by the programmer. While completing this activity, the participants asked if they could add their own symbols to provide clearer directions. YES! This is computational thinking and problem solving at its finest. A few of their own symbols represented return to beginning position, move hand up, and move hand down.

In our debrief, they discussed the appreciation for the possibility to add their own symbols, the idea of breaking down every step to write the correct algorithm, and the surprise at times to have forgotten to break down a motion. They also discussed the importance of having the same ground rules, where both the programmer and robot had the same starting place and having the same set of movement understanding. From there, we moved on to a coding activity in Scratch.

Thinking of early elementary students, I would adapt the activity steps to let students work in groups of four after the whole class activity. Three students would be programmers to help write the algorithm while one person is the robot carrying out each step. Instead of writing/drawing the symbols, there could be cards that they place in order. Their roles would switch after each round. When they are more comfortable, there could be one student who constructs a small tower, one student who writes the algorithm to match the tower, and a third student who tries to replicate the tower by following the algorithm. This could also become an independent or center activity for the students.

Having this basic understanding of computational thinking can provide a solid foundation for  students in conceptualizing their thoughts into a project. It also gives them the satisfaction to think critically when they encounter and resolve a problem. Further, it encourages other coding activities that could lead them to program games, stories, and projects via Code.org, Scratch, Arduinos, and Raspberry Pis. The opportunities using the skills of computational thinking are endless.

References:
Papert, S. (1980). Mindstorms: Childrens, computers, and powerful ideas. New York: Basic Books Inc.
Wing, J. (2006). Computational thinking. Communications of the ACM, 49(3), 33-35.