Foundations
The classical core of computational thinking — the concepts every other section of this knowledge base builds on.
When Jeannette Wing argued in 2006 that computational thinking is a fundamental skill for everyone, not just computer scientists, she was describing a set of mental tools, not a programming curriculum. Two decades later those tools have outlived several generations of languages, frameworks, and now AI assistants — precisely because they operate at the level of how you think about problems, not how you type solutions.
This section covers the five capabilities that form that core, plus the framing that holds them together:
| Page | What you will learn |
|---|---|
| What Is Computational Thinking? | The definition, the Wing 2006 lineage, how the concept evolved to 2026, and why CT is not the same thing as coding |
| Decomposition | Breaking large problems into tractable parts — functional, data-flow, and stakeholder decomposition, with a worked example |
| Pattern Recognition | Spotting regularities you can exploit, and how this pillar connects directly to machine learning |
| Abstraction | Layers, interfaces, and information hiding — plus the law of leaky abstractions and when to peek beneath them |
| Algorithm Design | Turning steps into algorithms: correctness, conceptual big-O intuition, and pseudocode you can actually use |
| Evaluation & Debugging | Testing, debugging as hypothesis-driven science, and judging solutions on correctness, efficiency, and robustness |
How the pieces fit
The pillars are not a linear recipe. In real work you cycle through them: decomposition exposes patterns, patterns suggest abstractions, abstractions make algorithms expressible, and evaluation sends you back to re-decompose whatever you got wrong. Treat the six pages as one loop — read in order the first time, revisited in any order afterward.