Coding and Computational Thinking

It would seem that the rush to teach coding throughout the K-12 student population might be tempered by a slower, more realistic approach to overall problem solving by teaching computational thinking.

Although pre-service teachers are taught ways to bring coding into their classrooms using LEGO Mindstorms kits and various apps and websites, a single outcome coding lesson pales in comparison to the wide open skill set of computational thinking.

A BBC site defines computational thinking this way: “Before computers can be used to solve a problem, the problem itself and the ways it could be resolved must be understood.  Computational thinking techniques help with this task.”

Problem solving through computational thinking breaks down the problem into manageable parts that a computer or human can understand.  The coding may be part or all of the solution or may not be necessary at all.  But as a sustainable skill, students who are practiced in computational thinking will be able to take on coding in an informed mindset.

Most general resources that I have been reading all agree on four main components of computational thinking:

  • Decomposition – what are the component parts of the problem
  • Pattern Recognition – are there repetitive actions or ideas
  • Abstraction – given this breakdown what now?
  • Algorithms – what can we tell the computer to do?


More posts once I learn more.  I would like to investigate the four main components and look at how computational thinking can fit with curriculum outcomes.