Post

Computation Is Not Just for Engineers

Computation Is Not Just for Engineers

There is a course on ergo.org called Computation as a Universal and Fundamental Concept that I have been sitting with since I read it. I think it is one of the more interesting things I have come across recently, and I want to write about why.

The short version: computation is not a narrow engineering skill. It is a fundamental concept — as cross-disciplinary and foundational as mathematics, evolution, or energy. The course argues this seriously, and I think it is right.

How It Starts

The piece opens with a hiking narrative. The author is in Marin, carrying books and a laptop up to a foggy hilltop, heading out on a trail that drops toward the sea. They take a detour to the Green Gulch Farm Zen Center — no receptionist, no group on cushions, just a quiet farm — and when they leave, the path begins climbing.

And here is the part that stayed with me: the author feels a flash of disappointment.

Which makes no sense. If you want to get back home, ascending sooner is strictly better. The feared outcome — the ascent — was actually the optimal one. But the reaction is disappointment anyway.

They write about this with real honesty. There must be some mindset, they think, which would not feel disappointed in that moment. Some way of seeing the situation clearly enough that the “bad” thing reveals itself as the good thing, and the feeling follows suit.

That is the hook. And it is a good one.

The Problem With Human Intuition

What the author is describing is not a quirk of hiking psychology. It is a reproducible structural problem with how human reasoning works.

We are anchored to narrative and expectation rather than to outcomes. We feared the ascent. The ascent happened. The brain processes it as confirmation of the fear rather than as information about the route. The evaluation is backwards: it looks at whether the thing we dreaded occurred, rather than at whether the situation actually got worse.

A computational framing does not do this. A computational framing evaluates states, not stories. It does not care whether the outcome matches the expectation. It asks: given where I am now, what is the actual remaining cost?

That gap — between expectation-anchored intuition and state-based reasoning — is not exotic. It shows up in loss aversion, sunk cost fallacy, decision paralysis, and a dozen other places where human cognition reliably fails to optimise for the thing it claims to want.

The hiking anecdote earns its place because it is small, concrete, and undeniable. Nobody reading that passage can honestly claim they would never make that mistake. Most of us make it constantly.

What Computation Actually Is

Here is where the course pivots, and where I think it does its most important work.

The common assumption is that computation is about computers — software, algorithms, machine processing. Something engineers know about and everyone else can safely ignore.

That assumption is wrong in a way that costs people something.

Computation, understood properly, is about information processing under constraints. It is about how systems take inputs, apply rules, and produce outputs. That description covers far more than software:

  • A biological cell processing chemical signals
  • A market pricing goods through distributed signals
  • A brain updating beliefs from new evidence
  • A weather system evolving according to physical laws
  • A person making a decision under uncertainty

All of these can be modelled computationally. Some of them can be understood better through computational framing than through any other lens.

The Church-Turing thesis is part of this. Universal computation — the idea that all sufficiently complex computation is equivalent, and can be simulated by a sufficiently general machine — is one of the strangest and most powerful ideas in intellectual history. It is not obvious. It is not narrow. And once you internalise it, the world looks different.

That is what universal means here. Not “applicable to lots of software”. Applicable as a lens on physical reality.

Why This Should Be Cross-Disciplinary Literacy

The argument the course makes — that computational thinking should be a standard literacy alongside mathematics — resonates with me for two reasons.

The first is practical. I see engineers working every day who do not have strong intuitions about computation as an abstract concept. They can write code, sometimes good code, but when the conversation moves to systems behaviour, distributed state, or emergent dynamics, the vocabulary gets thin. They are coding without the theory. And the theory matters when the systems get strange.

But the second reason is more important, and it applies far beyond engineering.

The failure mode the hiking story illustrates — evaluating outcomes relative to expectations rather than relative to states — is not a failure of intelligence. It is a failure of conceptual framing. People who do not have a computational vocabulary are missing a tool for catching it.

A statistician catches different errors than an economist. An ecologist sees different dynamics than a physicist. Computational thinking is not a replacement for those; it is another lens that sees things those lenses miss.

Decision theory, information theory, complexity theory, algorithmic thinking — these are not just CS topics. They are ways of asking questions about how systems process, propagate, and act on information. They are relevant to biology, economics, cognitive science, public policy, and yes, to hiking in Marin.

The Bit That Connects To Where I Live

I spend a lot of time thinking about agents, AI workflows, and what happens when you build systems that are meant to reason and act in the world.

One of the things that strikes me most when building or reviewing those systems is how often the failures are not technical failures. They are failures of reasoning structure. The model, or the agent, or the workflow, or the human designer, is doing something analogous to the disappointed hiker: evaluating the situation against expectations rather than against optimal outcomes, or anchoring to narrative instead of state.

Computational thinking is not a magic fix for that. But it is a vocabulary for naming it clearly, which is the precondition for designing against it.

When I read the core thesis here — that computation is a universal and fundamental concept, not just a tool — I find myself thinking: yes, exactly, and we are paying the price for not taking that seriously enough.

We have built entire engineering practices around the outputs of computation without developing much shared understanding of the underlying concept. That means a lot of decisions get made on intuition where they could be made on structure. It means systems get designed without the designers being able to see what they are actually designing.

That is not fine.

On The Course Itself

Ergo.org seems to be doing something interesting as a platform — educational material that reads like serious writing rather than a tutorial. The prose in this piece is not dry. It earns its technical content through the quality of the narrative around it.

The hiking story is not padding. It is doing real pedagogical work: anchoring an abstract claim in an experience that is impossible to argue with. You cannot read it and claim you would have felt neutral when the path ascended. The author catches you in the exact failure mode they are about to describe.

That is good teaching.

I would like to see more of this kind of thing. Not “here are three bullet points about computational thinking” but “here is a moment where ordinary human cognition breaks, and here is the concept that explains why, and here is what seeing it differently might do for you.”

Final Thought

Computation is not a tool that engineers use. It is a concept that describes something real about how the world works.

Understanding it better — not just being able to write code, but being able to think about information, processing, state, and optimisation as abstract ideas — makes you better at more things than you might expect.

The hiking story is just a hiking story. But it points at something large.

That flash of disappointment when the path went up? That is a computational bug in the most literal sense. A gap between the reasoning process and the optimal outcome. The moment you can see it that way, you have learned something that transfers.

And that, as far as I can tell, is exactly what good education is supposed to do.


Computation as a Universal and Fundamental Concept — ergo.org, July 2026

This post is licensed under CC BY 4.0 by the author.