If we’ve paid any attention to the news in the last few years, we’re likely to think the answer to the question posed at the top of the page is yes.

Even Barack Obama and will.i.am spoke out that coding is the future. I’m not going to suggest that every child be bulldozed into learning how to code. Coding is worthwhile, but it simply isn’t everyone’s cup of tea.

Computer science is an important subject, but by promoting a whimsical future where everyone sits and codes apps on the commute to work, we’re missing what’s really important.

But for the precious few who do actually pursue a career in software engineering, the contribution most children can make to our collective future doesn’t lie in a uniform ability to code. Their contribution lies in the way they think.

Digital natives

The term digital native sounds like an awful marketing slogan used to pitch a smartphone designed for toddlers. Actually, it expresses the fact that our children have never known a world without tablets, apps and the World Wide Web.

They are, in that sense, natives of our digital age: unlike those of us who remember rewinding video tapes, or the jarring but strangely beautiful music of a dial-up internet connection.

Touchscreen interfaces and interactive apps have broken down the barriers young children once faced when accessing technology. Keyboards and mice are no longer obstacles.

Technology offers a glorious union of learning and games: it takes just a tap to pop bubbles, manipulate flashcards or progress through a storybook; once they advance to dragging their fingers over the screen, they can solve shape puzzles or practise simple handwriting exercises.

Little wonder our children covet our phones and tablets.

But as they move towards an increasingly high-tech future, children need to learn how things work. They need to be creators, not just consumers.

Consequently, computer science has recently been dug out of the DfE’s attic, dusted off, and thrust under the spotlight.

Coding seems to have emerged most prominently from the shadows.

Nobody would deny that coding can be used to solve problems. In Boston, Massachusetts, a website exists that allows people to adopt a neighbourhood fire hydrant and take responsibility for keeping it accessible for emergency services during heavy snowfall.

Time not wasted locating and digging out a hydrant is time firefighters can use to save lives. It took coding to make that solution a reality, and it took a particular thought process to come up with a solution like that in the first place.

That thought process can be nurtured right from early childhood and is, in my opinion, the best way to approach coding in the early years classroom.

Computational thinking

At the heart of coding lies the notion of computational thinking: the kind of thinking that realises that maintaining Boston’s 13,000 fire hydrants is an unreasonable and impractical demand to make of emergency responders.

Learning and development in the EYFS is underpinned by ‘thinking critically’, and computational thinking is about solving problems logically.

The term doesn’t literally mean to think like a computer: thinking is about creating and the free association of ideas; computers can only process data. But computers do that brilliantly, and they do it by following logical steps.

Computational thinking is built on four core concepts, and they have broad applications for young children:

i. Breaking it down

The best way to solve a big problem is to reduce it down into smaller problems, and then solve them one at a time. When we build Lego kits, we make portions that fit together to make the finished product. One big problem is broken down into smaller, more manageable stages.

ii. Looking for patterns

Once we’ve broken down a problem, we can look for patterns among these smaller portions. When we solve one of them, we may be able to use that solution to solve other problems along the way. Or we might remember solutions we’ve used for problems in the past, so we don’t repeat our efforts needlessly.

iii. Filtering out

The most efficient way to solve a problem is to remove the details that aren’t relevant to the problem we’re trying to solve. For example, when we build flat-pack furniture, we’re shown which pieces and which nuts and bolts we’ll need for each step.

iv. Algorithms

All computer programmes are built from algorithms – sequences of steps that are followed to solve a problem. Unless you’re reading this with your underpants on over your clothes, you successfully followed an algorithm for getting dressed this morning. Other algorithms include following recipes, performing dance steps, even our route to work.

Making sandwiches

You don’t need technology to learn to think logically. You can teach children the meaning of algorithms by letting them direct you in the making of a sandwich.

If they tell you to put your preferred filling on the bread, you pick up the sealed jar and rest it on top of the unopened loaf.

With encouragement from you, they’ll realise that first the bread needs to be taken out, and the filling needs to be opened.

The more absurdly you take their instructions literally, the more this lesson will stick with them. It’s a great way to get children thinking about breaking down a problem and formulating the steps needed to solve it.

Therefore, for us to prepare children for the future, we need to ensure they are ready for the challenges that lie ahead.

Teaching coding should not be about prepping every child for a future in software design. It should be about instilling a logical way of thinking and problem-solving: these skills are readily transferrable to coding, but also to the whole spectrum of subjects, and to life itself.

Coding is a valuable skill, but an encyclopaedic knowledge of a programming language will be no use to anyone if you can’t think of ways to make use of it.

In practice

You can explore the principles of coding without going anywhere near a computer…

Solving a problem

First, make a simple Lego model: four bricks, two colours. The challenge is to build a copy. Give the children more pieces than they need, including two extra colours.

Breaking it down

Count the pieces and colours in the example model.

Looking for patterns

We need only two colours. The bricks are all the same size.

Filtering out

We know we need only two colours and one size of brick, so we put the others away.

Making a plan

Now we know which bricks we need, we can work out how to make the model – step by step.

John Bolton is an education writer specialising in technology.