“Bringing computational tools and practices into mathematics and science classrooms gives learners a more realistic view of what these fields are, better prepares students for pursuing careers in these disciplines, and helps students to be more savvy STEM citizens in the future” (Weintrop et al., 2016, p. 128). Our job as educators is to help support our students’ ambitions by ensuring we are assisting and encouraging the development of new skills and competencies that are essential to the success of the 21st century learner. Children today are growing up in a technology driven world, where the jobs of today will change tomorrow. They need to have the knowledge and skills that will allow them to, “better understand and control their technological world, and to be better prepared to succeed in it” (Gadanidis, 2015, p. 3). Teaching children to think computationally will give them the ability to see and think about problems in new and different ways. Throughout this paper I will reflect on my experience with teaching computational thinking and what that looked like in my classroom. More specifically, I will report on my own observations and feelings about an unplugged computational thinking lesson I presented to my own grade four students. Finally, I will address my overall conclusions from the experience and the emerging questions and ideas that left me wondering.
Before taking a graduate course on computational thinking in mathematics education, I knew very little about computational thinking and everything it involved, so getting to share this teaching and learning experience with my students was as new for them as it was for me. For this first lesson, I wanted to choose something that I knew they could relate with while generating excitement. Over the past three years I have been working in Nunavut Canada, in the small Inuit town of Rankin Inlet. Historically, the Inuit people have created many different dice games such as …. (or see this publication …. For examples) which have been passed down through generations as a part of their culture. Once I explained to my class that I would be showing them how to play a new dice game as part of an introductory computational thinking lesson, they became very eager to start. The lesson I chose to teach was called, Lesson 10: Algorithms: Dice Race Unplugged which comes from the code.org website as a part of their unplugged curriculum. This lesson allows students to, “relate the concept of algorithms back to real-life activities by playing the Dice Race game” with the goal of, “building the skills to translate real-world situations to online scenarios and vice versa” (CS Fundamentals Unplugged, 2015). Here is a summary of the lesson: …….
To start the lesson, I engaged my students in a discussion revolving around the new term algorithm. I explained how an algorithm consists of a list of steps we create and use on a daily basis to complete different tasks. I had them help me make a list of things they would need to do in the morning in order to get ready for school. They were quick to point out that some steps needed to come before others so I worked with them to rearrange each idea into a correct order. One student asked if we had been using algorithms in our science experiments on …… we had been doing. We quickly reviewed the idea and came to the conclusion that yes we did. For each experiment we needed to follow a certain set of steps in order, such as ….., to complete the task. I asked the rest of the class to think of other times we might use algorithms in or outside school. Two answers that surprised me were, baking cupcakes and doing subtraction. When asked why they chose their answers, both students responded by stating that if you don’t follow the steps correctly then it won’t work. I could tell that some students were beginning to realize the importance of algorithms and how without them we wouldn’t be able to complete even simple tasks. As we continued the discussion, I began thinking of ways to use the ideas students were proposing to extend their learning about algorithms and continue them to think computationally. One idea that came to mind was to work with another grade four class to create, trade and practice algorithms such as ….. I would place students into small groups, get them to think of an activity they could describe and create an algorithm for, like some of the ones we had written on the board. Once their groups had created their algorithms then they could trade with groups from another class and try to complete each-others task by following the created algorithm. This idea could span multiple sessions and build on their knowledge of what they had learned from today’s lesson. Another idea I like that was suggested on the Dice Game Unplugged lesson plan to create further learning opportunities, was to have students guess the activity based on the algorithm presented. In this lesson students would be challenged to make sure their algorithms were written well enough so that other teams could figure out the task. I could also create my own algorithms for students to guess from as well.
Next, I introduced the class to the dice game of …. and had two students help me model it for the rest of the class. After we quickly played through it I got the class to help me write the steps needed to complete the game. Next, we described the steps in a different way so that a computer could understand. This was much harder for the students to comprehend and put into words. When it came to rewriting the steps about rolling the dice and deciding the winner they were stuck. At this point I expected to see some students become disengaged but the opposite occurred. Students became more invested and even students who don’t particularly enjoy math as much stayed attentive and curious. I began wondering how this style of learning through computational thinking effected engagement. They seemed to be particularly more involved throughout this lesson. Even after we had finished and they were working in their groups playing the dice game and creating their algorithms, I could see the excitement on their faces. They called me over multiple times to show me their steps they created and how their games were going. Almost all students were able to correctly write their algorithms.
After they had completed their work, I brought them back to our meeting area to have a discussion about what they learned. The overall response from the students was very good. They all expressed their love for today’s lesson and wanted to know when we could, “do more algorithms”. I asked them if they could add or change one step to make their algorithms different what would they do. One students said they would add, that if you roll a six, your points go back to zero. Another modification suggested was to repeat the steps more than three times to make the game longer. Lastly, a student asked if he could extend the game to fifty points to win. I was excited to hear the great responses my class had thought of. I could see that this lesson had got them really thinking hard about what we had learned and how they could expand on it.
One thing I found interesting throughout this entire teaching experience was the level of engagement shown from the class. Even though at times we had reached points where they couldn’t fully understand, they remained very focused and determined to figure it out. It made me wonder if incorporating more computational thinking style lessons into my teaching would increase the output my students shown in their learning. The responses and thoughts they gave after the lesson were encouraging as well. I could see how much they enjoyed the new challenges this lesson presented and they couldn’t wait to do it again. “Accepted views about what and how mathematics should be taught have changed drastically since most teachers were in school” (Battista, 1994, p. 468). Teaching children to think computationally gives them the ability to see and think about problems in new and different ways. It involves, “solving problems, designing systems, and understanding human behavior, by drawing on the concepts fundamental to computer science” (Wing, 2006, p. 33). “Computational thinking is reformulating a seemingly difficult problem into one we know how to solve, perhaps by reduction, embed- ding, transformation, or simulation” (p. 33). Going forward, I hope to incorporate computational thinking into more of my teaching across all subjects. This was an exciting experience for my students and myself as a young educator. Throughout this lesson many ideas and thoughts flooded my mind for expanding on today’s learning across all subject areas. I could see how getting my students to begin thinking computationally really motivated them in their learning and I look forward to what our next experience may offer.
Battista, M. T. (1994). Teacher’s beliefs and the reform movement in mathematics education. Phi
Delta Kappan, 75(6), 462-467.
Gadanidis, G. (2015). Chapters 1 – 4 in Coding for Young Mathematicians, 1–124.
Weintrop, D., Beheshti, E., Horn, M., Orton, K., Jona, K., Trouille, L., & Wilensky, U. (2015).
Deﬁning Computational Thinking for Mathematics and Science Classrooms. Journal of Science Education and Technology, 25(1), 127–147. http://doi.org/10.1007/s10956-015-9581-5 (Focus on the taxonomy developed by the authors.)
Wing, J. M. (2006). Computational thinking and thinking about computing. Communications of
the ACM., 49, 33-35.
(2015). CS Fundamentals Unplugged. Retrieved from https://code.org/curriculum/unplugged
Alfred Rose is an elementary teacher in Nunavut.