Tag Archives: computational thinking

Computational Thinking and Scratch

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?

computational thinking like a programmer

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?

computational thinking

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:

  1. Pick up a balloon.
  2. Place the open end of the balloon between your thumb and index finger.
  3. Put the open end of the balloon into your mouth.
  4. Blow into the balloon.
  5. Squeeze the open end of the balloon shut.
  6. Continue to blow until the balloon is full of air.
  7. Squeeze the open end of the balloon shut.
  8. Tie the open end of the balloon into a knot.

Use natural language first

Scratch cat

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.

computational thinking

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