what is computational thinking

Definition of Computational Thinking

Computational Thinking is a critical thinking skill that, according to some, is a required skill for success in the 21st century. This article from Jeanette Wing of Carnegie Mellon University describes what computational thinking encompasses. For most students, exposure to computational thinking as a problem solving tool comes late, or not at all. Since Fall 2010, the ISU Computer Science Department has been making efforts to change this in Iowa K-12 schools with a series of events and workshops designed to help K-12 educators, parents, and students learn about computational thinking.

Computational Thinking has three foundational elements: Computational Model, Abstraction, and Algorithm. Start with a problem. Use abstraction to focus on important aspects of the problem to be solved. This simplifies the problem. Design an algorithm that solves the problem. Next, pick a suitable computational model and implement your step-by-step algorithm using the selected computational model.

Computational Model

Definition of a Computational Model (note that the use of a computer is not required.)

  • There must be an instruction set.
  • The Computational Model must be able to store data and have the ability to support abstraction.
  • The instruction set must be able to operate on the data.
  • The Computational Model must support input (a way to get data into the model) and output (results of the solution need to be visible to the judges).