Ideas for teaching computational thinking

Educational roboticsChildren working with technology

In recent years, digital technologies have permeated virtually every aspect of our lives. So-called ‘digital natives’ are avid consumers of technology, and these new trends are causing concern within the education sector, which is seeking to understand the new dynamics introduced by smart devices in order to promote their healthy and productive use. That is why one of SmartTEAM’s main objectives is to promote the development of computational thinking as part of the technological literacy that children in our century need.

Would you like to receive further information?

If you work at an educational institution and are interested in the project, we can arrange a presentation.

SmartTEAM – Computational Thinking

What is computational thinking?

It is a skill, comprising certain concepts and competencies, which enables one to observe reality from the perspective of a computer scientist or an IT specialist. To understand this concept, it may help to think of mathematical-logical thinking, which enables us to interpret and express certain aspects of reality using logical and mathematical tools and operations, and from there to propose new solutions and develop new ideas. Similarly, computational thinking enables us to approach reality from the perspective of computer science. Some prominent authors describe computational thinking as a method of problem-solving using computer tools. This is a very valid definition, and one that helps to understand the concept, but it is more interesting to talk about approaching situations, since computational thinking is not only useful for solving engineering problems, but is also a new form of expressing one’s own ideas, or a way of creating something new in this world so heavily influenced by new technologies.

Some ideas for teaching computational thinking

Concepts associated with computational thinking include abstraction and representational models, algorithms, decomposition and modularisation, and patterns of repetition. As for the practices or skills that need to be acquired, these include the ability to interpret code, read a programme and identify patterns of behaviour. Breaking a problem down into modules, designing a solution as a sequence of steps, optimising a programme or finding an error… and we could go on to name a few more. Let’s look at the definitions of these concepts and some ideas for working on them in class.

Abstraction

The aim is to reduce the complexity of a situation by focusing on what is important, capturing relevant information and eliminating unnecessary details. Abstraction can also be used to design representation systems: using an image to represent certain objects, or a word to represent an action. Models and simulations can be regarded as abstractions of reality. Examples: Identifying the most important skills of a footballer and assigning a value to each one. Representing actions such as moving forwards, backwards and jumping using images. Using a formula to represent the throwing of an object. Interpreting a map of the city’s underground network.

Algorithmic Thinking

It is the skill involved in creating an algorithm or sequence. An algorithm is a series of ordered instructions required to solve a problem or carry out a complex action. Algorithmic thinking involves identifying steps and anticipating all the possible courses of action to which a programme must respond. Examples: What steps are needed to make a sandwich? Does it matter if the steps are carried out in a different order? Why or why not? Create an algorithm to help you decide what to wear each day. Create an algorithm that can help identify the different types of vehicles travelling along a road. Create an algorithm to teach a young child how to tie their shoelaces.

Decomposition

It involves breaking a problem down into smaller parts. Working with smaller subsets of a problem helps to reduce its complexity. Decomposition also involves thinking about computational products that can be reused as pre-designed building blocks in similar problems. In the field of computing, there is a culture of sharing, which helps to apply lessons learnt from solving previous problems to new ones, thereby promoting the development of computer science. Examples: Identify all the tasks required to bake a cake. Identify the stages of a journey from a city in the Americas to one in Europe, taking into account the time and means of transport required at each stage. Create a video game with your friends. How could you divide up the tasks? Solve a complex mathematical equation by breaking the solution down into blocks and combining the results obtained.

Pattern recognition

Pattern recognition involves recognising and using patterns to describe and represent sequences in data or processes. Identifying patterns enables the creation of rules for recurring actions. This cognitive tool helps to simplify the design of algorithms and facilitates optimisation. Examples: What is the pattern used to draw a square? How could that pattern be applied to draw a pentagon? Find a children’s song that repeats a phrase many times. Which parts of the song are repeated? Which parts vary? Is there a pattern in that variation? Present a sequence of images containing a repetition and ask them to identify the pattern.

Share