Computational Thinking:
Possibilities and Challenges
Leila Ribeiro
∗
, Daltro Jos´ e Nunes
∗
, Marcia Kniphoff da Cruz
†
and Ecivaldo de Souza Matos
‡
∗
Institute of Informatics, Federal University of Rio Grande do Sul (UFRGS),
Porto Alegre, Brazil
Email: {leila,daltro}@inf.ufrgs.br
†
Departamento de Inform´ atica, Universidade de Santa Cruz do Sul(UNISC),
Santa Cruz do Sul, Brazil
Email: marciakniphoff@gmail.com
‡
Instituto Federal de Educac ¸˜ ao, Ciˆ encia e Tecnologia de S˜ ao Paulo
S˜ ao Paulo, Brazil
Email: ecivaldomatos@yahoo.com.br
Abstract—The aim of this paper is to discuss the importance
of computational thinking and how to include techniques
to teach this kind of ability in schools in Brazil. First, we
discuss what Computational Thinking is and the importance
of teaching such skill in school. Then, we list some of the
challenges that are involved in introducing this discipline in
school curricula.
Keywords-computational thinking, elementary and middle
school, high school, education in Brazil
I. I NTRODUCTION
Computer Science can be seen as the art of solving
problems, in the sense that in Computer Science one studies
how to construct and organise the solution of a problem,
presenting the process that leads to the solution in a very
precise way. This process is called algorithm, and it can
be described at various levels of abstraction. Students learn
in elementary school ways to sum, divide and multiply
numbers, extract the square root, etc. All these are examples
of algorithms, that is, there is a series of well-defined steps
that they follow to perform each of these operations to get
the from the arguments to the result. Algorithms may be used
in any area, not just to describe mathematical operations.
For example, we may use algorithms to describe how a
cake is made, how to change a tire, how to perform a
biological experiment, how to organise a party, etc. A very
important characteristic of an algorithm is that it describes
precisely and non-ambiguously the process that has to be
executed such that different persons (or even machines)
following the algorithm can perform the same steps in the
same way, arriving to the same results (when the process is
deterministic).
The question of which kind of procedures can be de-
scribed in such a precise way actually led to the development
of the area of Computer Science. In the kernel of this area
lies the fundamental work of Alan Turing [1] and other
researchers like Church, G¨ odel, Kleene, ..., explaining what
is an algorithm, that is, how can we define the process of
solving a process in a precise way. Turing’s idea led to the
development not only of techniques to solve and analyse
the complexity of problems, but also to the architecture of
the first machines that could automatically follow a series
of steps to solve a problem, called computers nowadays.
Since the the dawn of Computer Science many methods to
solve problems and describe the solutions in a organised and
efficient ways were developed. And, in fact, if we compare
problems that could be solved and automatised in computers
fifty years ago to the ones that can be handled today, we
will see that the complexity and size of problems solved
today was non-imaginable 50 or 60 years ago. As we learned
how to solve bigger and more complex problems, many
different abstractions and techniques were developed. and
we claim that this kind of problem solving skills are needed
by everybody not just Computer scientists.
In this paper we will first explain what Computational
Thinking is and how it compares to other abilities, specially
to logical and mathematical reasoning. Then we will moti-
vate why this kind of skill is important and finally discuss
how to teach this kind of ability at school, pointing out some
challenges involved in this process.
II. WHAT IS COMPUTATIONAL THINKING?
The cognitive process used by human being to find algo-
rithms to solve problems is called Computational Thinking
or Algorithmic Thinking [2], [3]. This process which is the
basis of Computer Science, may be applied in many other
areas like Mathematics, Physics, Chemistry, Sociology, Phi-
losophy, etc, enabling the students to specify and organize
the solution of problems. The study of algorithms involve
concepts like abstraction, refinement, modularisation, recur-
sion, etc. Learning these concepts improves the capacity of
reasoning and problem solving by way of meta-cognitive
learning processes, considered essential for intelligence [4].
2013 2nd Workshop-School on Theoretical Computer Science
978-1-4799-3057-9/13 $31.00 © 2013 IEEE
DOI 10.1109/WEIT.2013.32
22