Lab Awesome’s Guide to Coding with Kids – Part 2: Computational thinking and building LEGO® models without instructions
In the second instalment of our Coding with Kids series, Ian explores the basic principles of computational thinking – how we can take a complex problem, break it down to understand it and then come up with possible solutions for it. In this blog, he explains how free-building with DUPLO® and LEGO® promotes the fundamental skills for computational thinking.
Last week, I looked at some of the toys and games that can be used to code with younger children. The basic principles and skills for coding are accessible for pre-schoolers and you don’t need a computer to develop them.
Before moving on to some of the incredible LEGO coding sets available, I want to re-visit and expand on what these skills and principles are.
Last week, I described coding as creating a sequence of step-by-step instructions to solve a problem. To code, children need an understanding of cause and effect. But let’s open that out a bit.
Coding is a computational process and through a better understanding of computational thinking, we can get young people excited about and ready to tackle real-world STEM challenges. The term computational thinking was coined by Jeannette Wing to describe a collection of problem-solving skills that help us to think logically, creatively and in an algorithmic way.
There are five essential principles of computational thinking:
- decomposition: breaking down complex problems into smaller parts;
- pattern recognition or generalisation: finding similarities between problems and learning from these;
- abstraction: identifying what information is essential to solving a problem and what is not;
- algorithmic thinking (coding): our step-by-step plan to solve problems;
- evaluating solutions: asking whether we happy with what we have done or made. What can we learn from the process?
Coding skills with DUPLO, LEGO and LEGO Technic
Before you think about investing in expensive LEGO coding products, I’m going to explain how free-building with any LEGO or DUPLO can encourage computational thinking.
Introducing the double-decker couch! So everyone can watch TV together and be buddies! – Emmet, The Lego Movie
Any time you decide to build a house, a robot or anything from scratch with LEGO or DUPLO, you will think computationally as you plan, prepare to build and as you construct your model.
Decomposition occurs when you break the ‘problem’ of creating your house or robot down into smaller and more manageable problems: will you need a base structure? What features should the house or robot have? What should it be able to do? Will it need moving parts? What might it look like?
You will apply pattern recognition or generalisation as you consider common features of houses or robots that you may want to include. You will think of all the houses and robots that you’ve built, been in and seen before and the techniques that you have used to master roofs, staircases, cool apendages, etc. in the past when you’ve built with LEGO.
You practice abstraction as you sift through your knowledge of building with LEGO (and your general knowledge) to select the most relevant and useful information.
You will begin the step-by-step process of putting you build together using algorithmic thinking. This may involve active planning or designing and will certainly involve you thinking ahead to which pieces you will need to complete your build.
Once your creation is complete, you will admire it and evaluate it, thinking about whether you’ve managed to build what you set out to; whether it’s better than other houses or robots you’ve built before and what you could do to build a better one next time.
All LEGO play encourages computational thinking and coding skills as well as a host of other skills and competencies. Free-play without instructions requires another level of creativity. And it’s brilliant fun!
Next week, I’ll be exploring the LEGO products designed to develop coding skills: Mindstorms, Wedo and Boost. See a preview of our favourite Mindstorms builds below.