Coding is often perceived as formulaic and sometimes boring but this couldn’t be further from the truth: it is in fact an incredibly creative activity. Coding is simply a language that instructs technology on what to do and how to behave. I would say it has become the new pencil and paper – a tool with endless opportunities. It’s what you do with it that matters, and in this digital world, children really can do anything from creating a 2D platform game, to writing a program that solves their maths homework. What a great opportunity then to encourage a creative mindset in children. Here are some ideas for you to use in your classroom:
Encourage experimentation and evaluation
There are many ways to do one thing in coding and this helps to inspire experimentation and also ownership and control over projects. Recently my school did a ‘Curiosity Challenge’ – inspired by the Massachusetts Institute of Technology (MIT). This was a project in which pupils were given a stimulus (video, picture, sound, experience etc.) and had to think of many different questions and eventually focus on one to investigate. The pupils’ imaginations ran wild and they came up with some amazing ideas to experiment with and brought them to life through code; creating games, animated stories and music. They then honed these initial ideas and brought them to life through code.
When encouraging pupils to experiment, resilience is key. Sometimes children will get to a point where they think of something that could be changed near the beginning of the project and believe hours of work are seemingly lost. But this reflection in fact develops a good skill in pupils as they realise that sometimes we have to scrap something and restart to move forwards. Growth mindset is something I have paired very closely with coding. This is theory of Carol Dweck’s centres on the power of yet i.e. “I can’t do this…yet”. Children who have a growth mindset do very well with coding. Is a code ever finished? No. Testing code to make sure that it’s as efficient as possible is a key part of programming so it’s important that learners understand this way of thinking. I like to get my class to imagine what would happen if coders working for Apple had the mindset that the current iPhone could not be improved upon.
Evaluation is a very important part of the experimentation process. Pupils must reflect on their learning and find ways to move forwards (or backwards, then forwards!). Don’t worry if children are ‘copying’ each other’s code, as this is often a way some children start a project – giving them a base, or a support. The child copying will soon go off in their own direction when they are ready.
And never rush a coder. If a child has done seemingly very little work, it’s likely they have probably taken many steps and then deleted them multiple times during this period of experimentation and evaluation. Coders need time to investigate and come up with the best solution and this constant thinking and reworking is an excellent skill and shows deep learning. Talk to the children and ask them to explain what they have come up with - both the things that didn’t work and those that did. Asking them for their reasoning might just spark off a new direction in their code.
Engaging pupils in coding can initially be a challenge, but a great way to do this is to create some code before the lesson and take them through your thinking process and show them the result. By doing this pupils can use some of the modelled code as a jumping off point upon and start to think of their own learning journey. Pupils are keen to be creators and they want their work to be unique.
Alternatively, once they have grasped the key skills, you can model part of a program or perhaps show part of a YouTube tutorial to the class (many are made by children and very inspirational) and ask them to copy it. You can then challenge the pupils to stick with the original code but adapt it to make something different happen – self-directed innovation at its best.
Working alongside pupils is a great way to inspire pupils as by observing their coding and asking open-ended questions, you encourage deeper thinking.
Problem solve collaboratively
Many children enjoy coding in groups as they feel a sense of shared accomplishment when their coding efforts come to life, such as when trying out their code with robots such as LEGO® MINDSTORMS® Education EV3. Project based learning can therefore be a great way of allowing children to code in teams. The planning, child-led drive and group learning always yields amazing results.
So how does this collaborative work encourage a creative mindset? Collaboration inspires creativity as children bounce ideas off each other and learn from each others’ different perspectives – this can be eye-opening and often changes the direction of the project.
My class find sharing work particularly useful when they hit a brick wall in their code. They share screenshots of their problem, and then other pupils or I help them debug it or suggest alternative creative ideas.
As a teacher, it’s important to sell coding as an exciting and engaging activity. Once you do this many pupils opt to spend hours at home designing games and functional programs. And as time in school with computers can often be limited, it’s a good idea to set coding home learning challenges, or set up a lunch time coding club, giving rewards for good practice such as creativity, unique ideas and innovation.
If children can develop their creative skills during coding time, other subjects will benefit too. Linking coding to a subject like literacy might seem impossible, however an activity that worked in my class was to code a story. The result was a moving picture book which pupils never believed possible to build. Blending coding with other subjects is particularly helpful for those pupils who feel coding and computing isn’t a subject for them. Pairing creativity that shines through in a subject like English or art can easily be transferred to coding; hooking in these reluctant coders.
Go on, inspire some children and be inspired by them in return.