Inspired by the book Computational Fairy Tales, Chris Leach created a fantasy world for his ICT class to introduce them to computational thinking

When the draft curriculum for computing was published I know that one of the elements that caused concern among ICT teachers was the inclusion of the word 'algorithm' as well as just how much computer science was included. Since its publication, I've been looking for a way to introduce computational thinking to year 6.

I recently read the book Computational Fairy Tales by Jeremy Kubica and was really impressed by how it explained computer science concepts through the use of a narrative set in a fictional fantasy world. I thought this would be a great way of introducing these concepts to children and so the mythical land of 'Ict' was created.

In the first lesson the children were welcomed to Ict by King Hcael (that's me) and they were told that all of the villages in Ict were being terrorised by a group of dragons. The children were told that each village had been asked to signal when they had seen a dragon by lighting a bonfire. To begin with they lit one bonfire when they had seen one dragon, two bonfires when they had seen two dragons and so on. However, they hit a problem when they had seen four dragons; the strict health and safety laws in Ict meant that no village was allowed to light more than three bonfires at any one time. As a result the children were asked to develop a system using only three bonfires to signal that up to a maximum of seven dragons had been seen. Working in pairs the children all came up with variations of using different combinations of the lit and unlit bonfires. It was pointed out that if each village used a different system then they would not be able to communicate with one another.

I then explained to the children that the villages used a binary system for their bonfires so that a lit bonfire represented a 1 and an unlit bonfire represented a 0. Therefore three lit bonfires represented 111 in binary which equals seven in decimal. If only the middle bonfire was lit then the binary code would be 010 which would represent two dragons spotted.

The children were then sent out to explore Ict. Each of the villages in Ict is named after another of the teachers in the school so if a child was sent to the village of Riley they would go to the geography classroom where they would find an image of three bonfires in the window. They then had to record which bonfires were lit, return to the ICT room and convert the binary code into the number of dragons spotted. There are 22 villages in Ict and between them the children managed to visit every village.

In the next lesson, King Hcael broke the news that there had been an increase in the number of dragon attacks and he now feared that there were actually far more than seven dragons in Ict. Each village had been asked to complete a census of its population and was asked to display their population by using combinations of white and coloured flags. The children had to convert each village's population into its binary value and then work out the order the flags needed to be in.

The most populous village was Wilson which has a population of 127 which resulted in a binary code of 1111111 and so needed seven coloured flags. The children all managed to work out what flags were needed for each village and they then moved onto their next quest which was to start dragon hunting.

The children began by creating their own dragon hunter name. To do this they had to reverse their first name and then decide on an adjective to describe themselves. I became Sirhc the Legendary. The children then used a coat of arms generator to create their own heraldry before embarking on their quest to find the dragons.

Dragons were given names by the children using a dragon name generator and then added the name to a collaborative Google doc. The children then used Random.org to generate scores for each dragon in the following categories: strength, speed, magic, intelligence and ferocity.

In the next lessons the children hire wizards on behalf of the king to help rid Ict of the dragons. All the wizards have been named after heads of department so we have Nospmoht the Scientific and Gnilrig the Mathematical and they will have submitted an application form, with randomly generated scores for a variety of skills. The children, working in pairs, then decide in which order to prioritise these criteria. They use a bubble sort, a simple sorting algorithm that works by repeatedly stepping through the list to be sorted, to sort the wizards according to what they think is the most important category until only one candidate remains. They then write spell algorithms to help the wizard defeat the dragons.

These lessons definitely rank among the best lessons I have taught. The children have really been engaged and enthused by the fantasy world theme and it has proven to be an excellent way of introducing these simple computer science concepts.