‘We believe that the concepts they learn about in computational thinking can help our primary students become better learners’
Over the course of the last couple of weeks, grade 2 has been learning about algorithms. In computer science, that’s what they call a step-by-step plan to solve a problem. Now, even though it is computer vocabulary, we have been learning about it without using a computer!
By Kris Coorde, classroom teacher grade 5 and primary computational thinking
Paper and pen
In grades 1 and 2, we are committed to teaching computer science and computational thinking with as little screen time as possible. So we’ve been using good old paper, pen and pencils. And – I have to admit – smart phones. But just to take pictures and videos!
The book Hello Ruby – Adventures in Coding by Finnish author, illustrator and programmer, Linda Liukas ran like a thread through our lessons. Ruby is a girl that – with her inquiring nature and sense of wonder – learns about coding in this book, and computers and the internet in two other books. We’ve also been using an online workbook called Love Letters to Computers for our activities.
We started with the basic building blocks of an algorithm and learned that the order these are in is important. We call that order a sequence. Sometimes it doesn’t matter, but sometimes it does. “Imagine that you change the order of the steps when you are putting on your clothes in the morning”, I told students. For the activity, we created a dance sequence.
The following week, we talked about how certain parts of a dance routine are repeated. Does that mean you have to write down all those steps? Off course we don’t! Iteration was introduced. This is the repetition of a sequence and to easily show what has to be repeated and how many times, we learned about the loop box.
Loops are convenient, but in week 3, we talked about the next problem we ran into. How do we know how many times we have to repeat our sequence if we want to dance the entire song? And what if we want to dance different routines during verses and the chorus? So we learned about selection, where a rule is used to say when you have to dance your steps. I showed an example where I did a very basic dance routine (I’m not much of a dancer…) until the guitar solo started and I started another – even more basic – routine. Students were encouraged to come up with their own rule.
‘If weather=rainy, then wear rain jacket’
Lastly, before tying everything together, we learned about conditionals. This ‘if… then… else…’ thinking is very useful, as it really gives you the possibility to diversify your step-by-step plan. We stopped dancing and went back to our good friend Ruby, who needed help choosing what to wear and take with her for certain activities. We had a look at all the stuff that she has in her room and students had to make their own conditional rules and say what items Ruby needed. I realize how abstract that might sound, but it really makes sense. Let me give you an example: If weather = rainy, then wear rain jacket and boots, else wear a dress.
In week 5, we had a look back at all the things we had learned about (sequence, iteration, selection and conditionals) and learned that they can all be used and connected when we make an algorithm, a step-by-step plan to solve a problem. Throughout the weeks before, I had been using Blockly, a block-based coding language that is also used in coding tools like Scratch and SAMlabs, which we both use in our school.
Up until this point, I hadn’t spent much time on it. I only consistently used it myself and praised students who copied the block language. In week 5, I did ask students to try and use it, as it will be helpful later on, when we will start using tools that work on Blockly. The assignment was to make one or more algorithms that give instructions for going through a morning routine. I have to say, I was really impressed!
You might ask yourself why we learn about computer science and computational thinking, especially at this age. Contrary to popular believe, it is not to make sure that our students learn how to program, so that they can become programmers later on. We don’t teach them language to become linguists or math to become mathematicians either, do we?
Valuable skills for all students
We believe that the concepts they learn about in computational thinking can help them become better learners. Making a good step-by-step plan (algorithms), looking for repetition to make things easier (patterns, iteration and loops), breaking down a big problem into smaller and more manageable problems (decomposition) and looking at information and filtering out what is needed (abstraction), this is what we are working on. Regardless of what our students aspire to be later in life, these skills are valuable.