Computing Library › AI & Foundations
AI & Foundations

Computational Thinking

A way of framing problems so a machine can solve them: decompose, find patterns, abstract away detail, and specify a procedure.

A Problem-Solving Stance

Computational thinking is a way of approaching problems, not a synonym for programming. It is the discipline of formulating a problem so that its solution can be carried out by an information-processing agent, whether a computer or a person following steps. Its ideas apply far beyond writing code.

The Core Moves

Kronos motion — lego machine

Abstraction as the Keystone

Of these, abstraction does the heaviest lifting. Choosing what to ignore is what makes a problem manageable and a solution reusable. A good abstraction captures exactly what matters for the task and hides the rest, so a solution to the abstract problem solves every concrete instance that fits it. Choosing the wrong abstraction dooms everything built on top.

Correctness and Efficiency

Computational thinking also asks two questions of any procedure: does it produce the right answer, and does it do so with acceptable use of time and memory? Reasoning about correctness and about cost as a problem grows are habits that separate a procedure that works on a toy example from one that works at scale.

In Scientific Computing

Modeling a physical system computationally is applied computational thinking: decomposing the physics into solvable pieces, abstracting the continuous world onto a discrete mesh, and specifying algorithms whose cost and accuracy are understood. Kronos design work rests on these moves, and on being explicit about what each abstraction leaves out.