Skip to content

Lesson 2 of 10 · 7 min

Computational thinking in practice

Decomposing, abstracting, writing an algorithm, debugging: what computational thinking covers, and how to work on it with or without a screen.

In 2006, the computer scientist Jeannette Wing published a short paper that became a landmark. In it, she argued for computational thinking as a way of solving problems that is useful to everyone, not just to computer scientists. She placed it alongside reading, writing and arithmetic. In 2013, Grover and Pea reviewed the field for schools. Definitions vary, but the same elements keep coming up: abstracting, decomposing a problem, thinking in algorithms, using conditions and repetition, debugging systematically.

  • Decomposing: breaking “go to the library” down into steps that can be dealt with one by one.
  • Abstracting: keeping what matters for the problem. The grid on the mat matters, its colour does not.
  • Writing an algorithm: a sequence of precise, ordered instructions, with a repetition or a condition where needed.
  • Debugging: finding where the program departs from the intention, then correcting it methodically.

These moves are practised first without a screen. One student plays the robot, another gives them arrow cards to carry out to the letter on a grid drawn on the floor. The class discovers that a machine does exactly what it is told, not what was meant. Then the robot arrives, and the same moves come back with an object that makes mistakes without cheating.

To move on to programming, Lee and colleagues described a three-stage progression in 2011: use, modify, create. The student first runs an existing program, then modifies it for another purpose, then creates one. It also suits teachers who are just starting out. They do not need to know how to write everything before they begin.

References

  1. Wing (2006). Computational thinking. Communications of the ACM 49(3), p. 33–35. doi.org/10.1145/1118178.1118215
  2. Grover, Pea (2013). Computational Thinking in K–12: A Review of the State of the Field. Educational Researcher 42(1), p. 38–43. doi.org/10.3102/0013189X12463051
  3. Lee, Martin, Denner et al. (2011). Computational thinking for youth in practice. ACM Inroads 2(1), p. 32–37. doi.org/10.1145/1929887.1929902