Computational Thinking

Computational Thinking as described by Jeremy Scott, materials can be found here.

Computational thinking is recognised as a key skill set for all 21st century learners – whether they intend to continue with Computing Science or not. It involves viewing the world through thinking practices that software developers use to write programs.

These can be grouped into five main areas:

  • seeing a problem and its solution at many levels of detail (abstraction)
  • thinking about tasks as a series of steps (algorithms)
  • understanding that solving a large problem will involve breaking it down into a set of smaller problems (decomposition)
  • appreciating that a new problem is likely to be related to other problems the learner has already solved (pattern recognition), and
  • realising that a solution to a problem may be made to solve a whole range of related problems (generalisation).

Furthermore, there are some key understandings about computers:

  • Computers are deterministic: they do what you tell them to do.  This is news to many, who think of them as pure magic.
  • Computers are precise: they do exactly what you tell them to do.
  • Computers can therefore be understood; they are just machines with logical working.

Whilst computational thinking can be a component of many subjects, Computing Science is particularly well-placed to deliver it.

Exploring Computational Thinking with Google

http://www.youtube.com/watch?v=SVVB5RQfYxk

Muffy Calder – The Importance of Computational Thinking in the Digital Age

TESS – Get with the Program

WIKI – Computational Thinking

“What is computational thinking?…” – Aaron Sloman at ALT-C 2012, http://www.cs.bham.ac.uk/research/projects/cogaff/talks/alt2012-sloman.pdf