Computational Thinking and Scratch

It is important to develop computational thinking. In my last blog about computer science learning standards, I wrote about the benefits of students learning to program. Coding was once thought to be a mysterious, obscure skill restricted to a few masterminds. But in light of the STEM demands of the future job world, it’s now considered the ‘new literacy’. Learning to code prepares students for the challenges of the careers of tomorrow. Not only are computers an integral part of daily life but learning how to engage with and control them is a powerful leverage that we can give our young people.

Additionally, programming teaches skills that apply to all jobs: logical or computational thinking, flexibility, persistence, problem-solving, confidence, creativity, and collaboration. Best of all, it’s challenging and it’s fun!

What is computational thinking?

Teach students to think in sequential steps like a programmer

Computational thinking is the ability to break down a big problem into smaller sub-problems and to arrange them in an appropriate sequence. It’s a step-by-step procedure that is the foundation of science hypotheses and experiments, diagnoses such as medical evaluations and mechanical problems, and even tying up shoelaces. This cognitive, methodical approach to problem solving is the basis of algorithmic thinking: define the steps to complete the task.

How can computational thinking be taught?

Now that there are graphical programming tools such as Scratch and ScratchJr to teach coding to very young students, we should prepare them to think in a sequential, logical way. Before turning to the computer, break down some simple daily tasks into steps.

Here are some offline activities to try. Have students list all the ‘baby steps’, in the correct order, to complete a task. Then you may want to put their lists to the test by having one student instruct another to follow the steps literally as directed!

 drink from a juice box go out the door put toothpaste on a toothbrush make a peanut butter sandwich get on a bicycle add 2 two-digit numbers shuffle playing cards take out the garbage get out of bed blow up a balloon

They will soon find that ‘Get a balloon and blow’ might have the tester holding a balloon in his hand but blowing into the air. The steps should be broken down into something like this:

 Pick up a balloon. Place the open end of the balloon between your thumb and index finger. Put the open end of the balloon into your mouth. Blow into the balloon. Squeeze the open end of the balloon shut. Continue to blow until the balloon is full of air. Squeeze the open end of the balloon shut. Tie the open end of the balloon into a knot.

Use natural language first

Before using the blocks in Scratch have students explain, in their own words, what steps are needed to perform a task.

For example, to make Scratch the cat walk and talk to the viewer, use natural language to list the instructions to the cat:

1. Begin.
2. Then take 10 steps forward.
3. Say “Hello!”

After the steps have been explained verbally or written in natural language sentences, then go to the Scratch program and find the coding blocks that will perform those steps.

Preparing students to think logically and plan their ideas using their own words offline first will ensure success as they begin to construct code.

Are you looking for programming lessons for kids?

TechnoCode, a STEM project, includes activities that emphasize computational thinking. The lesson plans use Scratch to build games, puzzles, and animations. The instructional goal is to have students think like programmers. Easy to follow instructions with natural language help students to understand coding. Resources include planning sheets with guiding questions, coding challenges to differentiate learning, and coding journals.

TechnoHella

Hella Comat, Curriculum Writer - Hella Comat is a dedicated professional, who has taught in the education system for more than 30 years. As a pioneer of technology integration in Ontario public schools she was one of the first teachers to introduce the internet, video conferencing, web design, and multimedia learning activities to teachers and students in the Halton Board. To inspire teachers to use technology, she has led sessions for the Touch Technology program, ran workshops at education conferences, and sat on numerous advisory committees related to technology-issues. In recent years she taught the Computer in the Classroom course, at York University. Her lifelong commitment to teaching and learning was acknowledged when she was honored as the recipient of the Prime Minister’s Award for Teaching Excellence in Science, Technology, and Mathematics. Hella's contribution to the blog includes entries about the importance of technology integration. Drawing from her in-depth knowledge of technology in the classroom Hella writes about teaching strategies and useful resources that can benefit your practice. In addition, she provides innovative lesson ideas that you can implement into your own curriculum.