It is important to understand that different programming languages use different approaches to modeling computational processes carried out on a computer, much like different human languages use different ways of expressing ideas about the world. Thus, the expression of computational solutions you might build are heavily influcenced by the programming language you express them in. This also feeds into the problem-solving process (computational thinking), which will look different if you are using Scratch or if you are using Python, or any other language. That is okay, but you need to be aware of it because your approach to teaching computational thinking will necessarily depend on the language you are using as part of your instruction.

With this in mind, we turn to Brennan and Resnick’s Computational Thinking Framework1, which was developed specifically for the Scratch programming language consisting of seven concepts, four practices, and three perspectives, reprinted below:

Concepts
  • sequence: identifying a series of steps for a task
  • loops: running the same sequence multiple times
  • parallelism: making things happen at the same time
  • events: one thing causing another thing to happen
  • conditionals: making decisions based on conditions
  • operators: support for mathematical and logical expressions
  • data: storing, retrieving, and updating values
Practices
  • experimenting and iterating: developing a little bit, then trying it out, then developing more
  • testing and debugging: making sure things work — and finding and solving problems when they arise
  • reusing and remixing: making something by building on existing projects or ideas
  • abstracting and modularizing: exploring connections between the whole and the parts
Perspectives
  • expressing: realizing that computation is a medium of creation, “I can create.”
  • connecting: recognizing the power of creating with and for others, “I can do different things when I have access to others.”
  • questioning: feeling empowered to ask questions about the world, “I can (use computation to) ask questions to make sense of (computational things in) the world.”

The framework is also available as a handy one-page handout and website

We will refer to aspects of this framework throughout this book, so it’s a good idea to familiarize yourself with it..


  1. Brennan, Karen, and Mitchel Resnick. “New frameworks for studying and assessing the development of computational thinking.” Proceedings of the 2012 annual meeting of the American educational research association, Vancouver, Canada. Vol. 1. 2012. ↩︎