Computational Thinking in Innovative Computational Environments and Coding

Computational Thinking in Innovative Computational Environments and Coding

Alberto Ferrari, Agostino Poggi, Michele Tomaiuolo
DOI: 10.4018/978-1-5225-7365-4.ch018
(Individual Chapters)
No Current Special Offers


The concept of computational thinking has been discussed for several decades and in recent years has been brought to the attention of the scientific community by Jeanette Wing. The importance of computational thinking places it among the basic skills for the 21st century, together with reading, writing, and calculation, that every person will have to master, so it is important to teach it in primary school. As the invention of printing facilitated the spread of the three Rs (reading, writing, and arithmetic), the technology must lead to the spread of computational thinking. This chapter will introduce the research on computational thinking and, in particular, the works on innovative computational environments, and will describe the situation of the education to CT in high school and in academic courses.
Chapter Preview


There is no single definition of CT and the following is the work of several authors who point out different aspects. A common feature is that CT represents a set of skills that are part of a cognitive process related to deal and seek solutions to problems. Abstraction, decomposition and generalization are common features of most of these works.

The term “Computational Thinking” was adopted for the first time by Seymour Papert, with reference to the LOGO programming language (Papert, 1996). According to his theory of “constructionism”, programming is a valuable educational tool that provides the cognitive artifacts necessary to the human mind to build a representation of the world with which it interacts.

“Think like a computer scientist” means being able to deal with a problem, to design a system and understand human behavior using the fundamental concepts and tools of Computer Science (CS). The power of our “mental” tools is amplified by the power of our “metal” tools (Wing, 2008).

There is still confusion over an acceptable definition for the term, in its essence, CT can be viewed as a re-foundation of “algorithmic thinking”. In the 1950s and 1960s, algorithmic thinking was understood as a mental attitude, enabling the description of a generic problem as a translation of some input data to output data, and the formalization of the required translation as an algorithm. CT is built on the same basis, with the inclusion of the ability to think about a complex problem at different levels of abstractions, to use mathematical methods, and to analyze data and the complexity of solutions, i.e., to study how a certain algorithm scales when the size of the problem grows.

CT can be defined as the ability to solve complex problems by applying the logic of computing paradigm; it is a set of cognitive skills, concepts and techniques of computer science related to problem solving.

In the 2010 workshop on “The Scope and Nature of Computational Thinking” participants developed a vivid discussion on what “CT for everyone” might mean. Wing describes CT as a bridge between science and engineering. Since it deals with thinking processes and abilities that can be applied to different disciplines, it represents a sort of meta-science. Moursund et al. (National Research Council, 2010) suggest a close relation between CT and Procedural Thinking, as developed by Seymour Papert in Mindstorms (Papert, 1980).

CT revolution goes much deeper than the use of computer in everyday work; it is changing the way we think. Among the features of the CT we find the ability to formulate a problem and represent its solution writing an algorithm and compare the solution with others in order to assess its efficiency.

Complete Chapter List

Search this Book: