Tuesday, 25 July 2017

Computational Thinking in the Mathematics Classroom

I have been integrating coding into my Elementary classroom for the last few years, and I have started to see more and more benefits as students began to think computationally through various challenges. It does take time to teach students how to code, but the benefits are quickly apparent. They learn the iteration process through testing code they have written as it runs on the computer. Failure is simply part of the learning experience and we apply this mentality to other subjects as well. We don’t code everyday in class, we use it when it fits into the curriculum. It becomes a tool that some students use more often than others, for some it is the best way for them to think and design their solution to a problem.


One of the questions I asked myself as an educator was:


“How does integrating coding into a student’s work flow change the way they approach various challenges?”



This is what I noticed in class:


  1. Sustained focus on a challenge, with little to no frustration when it doesn’t “just work”.


  1. See failure as a natural extension of the iteration process.


  1. Natural integration of various strands, and topics in overarching projects.


  1. Step-by-step iteration process, with methodical selection of one thing to change and why clearly explained.


As students learned to code various problems in the classroom, they were able to reflect on those skills and begin to make use of them when trying to solve a challenging problem.


Here is an example from our Grade 3 math class:


Students worked through this problem, learning the importance of the numerator and denominator during the task.




But a question came up as they were working:




They worked through this problem in small groups that were forwarding different strategies, but one group began to think through the process as though they were coding it in Scratch.




They took their circle fractions and what the numbers meant in the numerator and denominator and applied it to a coding algorithm:


This:


Became this:




We used calculators to figure out each section of the circle. I helped them to do 360 ÷ 5 and 7, they did the rest. They explained the steps in their program and why 2/7 was more than 1/5.


Once students think computationally, it becomes a natural extension of their thinking process.

The following example shows how 90° angles became a part of their thinking when they saw rotations.



They naturally thought in “code” blocks when they explained the rotations the shape made:


To extend the thinking, I asked how many ways a shape could translate (slide) on the screen.



“A thousand”

“A million”

“No, wait… 360!”

One student decided to show what it would look like…






I have enjoyed watching my students benefit from the addition of coding to our learning process. It isn’t hard to find ways to make coding fit into the curriculum.


Introducing a Concept

Purposeful Practice

Final Application


When introducing a new concept, don’t add on a coding challenge as well. Let students immerse themselves in the new learning with a challenge that helps them to better understand the new concept. Once they become comfortable with it, coding can be one of the purposeful practice opportunities that help students to deepen their understanding of the concept. As a final application, or project I like to give my students options in how they can share their work. In this way, some students will chose coding as the platform to show their new understanding, while others will use what best suits their learning style. In this way, everyone is confident in their final product, and will share their best work.



No comments:

Post a Comment