Coding requires us to solve problems, plan instructions, notice relationships, test possibilities and respond when things don't work as expected.
Many of these thinking processes are collectively associated with computational thinking.
Computational thinking is a way of approaching problems so that they can be understood, organised and solved systematically.
It involves identifying the important parts of a problem, recognising similarities and patterns, breaking complex problems into smaller pieces, developing possible solutions, and testing and refining those solutions.
Although computational thinking is closely associated with computer science and coding, the thinking itself can happen without a computer.
And that's particularly useful in early childhood.
"Where have I seen a piece shaped like this before?"
Pattern recognition
"Bread first. Then cheese. Then..."
Algorithms and Sequencing
"Let's put the blocks here and the animals there."
Decomposition
"That didn't work. What else can I try?"
Debugging
Computational thinking didn't suddenly appear when computers were invented.
What changes in coding is that we begin to use these ways of thinking deliberately to formulate problems and develop solutions.